@@ -103,6 +103,8 @@ def self.import_providers
103103 user . save! if user . new_record?
104104 puts "User #{ user . email } #{ user . new_record? ? "created" : "already exists" } "
105105 end
106+
107+ reset_pk_sequence_for ( Provider )
106108 end
107109
108110 def self . import_languages
@@ -141,14 +143,17 @@ def self.import_topics
141143 puts "#{ topic . title } #{ topic . new_record? ? "created" : "already exists" } "
142144 topic . save!
143145 end
144- reset_topic_id_starting_value
146+ reset_pk_sequence_for ( Topic )
145147 end
146148
147- def self . reset_topic_id_starting_value
148- max_id = Topic . maximum ( :id ) || 0
149+ def self . reset_pk_sequence_for ( model )
150+ table = model . table_name
151+ pk = model . primary_key
152+ seq = "#{ table } _#{ pk } _seq"
153+ max_id = model . maximum ( pk ) || 0
149154 new_start_value = max_id + 1
150- ActiveRecord ::Base . connection . execute ( "SELECT setval('topics_id_seq ', #{ new_start_value } , false)" )
151- puts "Reset topics ID starting value to #{ new_start_value } "
155+ ActiveRecord ::Base . connection . execute ( "SELECT setval('#{ seq } ', #{ new_start_value } , false)" )
156+ puts "Reset #{ table } ID starting value to #{ new_start_value } "
152157 end
153158
154159 def self . import_tags
@@ -165,6 +170,8 @@ def self.import_tags
165170 end
166171 end
167172 puts "Tags import completed"
173+
174+ reset_pk_sequence_for ( Tag )
168175 end
169176
170177 def self . import_topic_tags
0 commit comments