Class: ActiveRecord::Base
- Inherits:
-
Object
- Object
- ActiveRecord::Base
show all
- Defined in:
- lib/active_record/reset_table_sequence.rb
Class Method Summary
collapse
Class Method Details
.reset_table_sequence ⇒ Object
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/active_record/reset_table_sequence.rb', line 3
def self.reset_table_sequence
case ActiveRecord::Base.connection.adapter_name
when 'SQLite'
new_max = maximum(primary_key) || 0
update_seq_sql = "update sqlite_sequence set seq = #{new_max} where name = '#{table_name}';"
ActiveRecord::Base.connection.execute(update_seq_sql)
when 'PostgreSQL'
ActiveRecord::Base.connection.reset_pk_sequence!(table_name)
when 'Mysql2'
ActiveRecord::Base.connection.execute("ALTER TABLE #{table_name} AUTO_INCREMENT = 1;")
else
raise "Task not implemented for this DB adapter"
end
end
|