Какой лучший способ сделать это. Есть ли что-то, что я могу внести в миграцию? Спасибо заранее.
Установка начального значения для первичного ключа в Rails (т.е. Первый идентификатор объекта - 1000 вместо 1)
Ответ 1
Это конкретная база данных. Просто выполните в миграции следующее:
class MyMigration < ActiveRecord::Migration
def self.up
create_table :my_table do |t|
# ...
end
execute "ALTER TABLE my_table AUTO_INCREMENT = 1000" # for MySQL
end
def self.down
# ...
end
end
Или, действительно, еще лучше, как предложил Бейн:
def self.up
create_table :my_table, :options => "AUTO_INCREMENT = 1000" do |t|
# ...
end
end
Будьте осторожны с миграциями, специфичными для базы данных, хотя! Использование любого SQL, специфичного для вашей базы данных, приведет к нарушению совместимости с другими базами данных и, как правило, не является хорошей идеей.
Ответ 2
Любая строка, переданная в опцию ": options", будет добавлена в конец инструкции SQL, которая создает таблицу. Лучшая практика.
def self.up
create_table :my_table, :options => "AUTO_INCREMENT = 1000" do |t|
# ...
end
end