Order モデルの ID を 1000 から開始し、そこから自動インクリメントでカウントアップしたいと考えています。
これは移行によって行うことができますか?
Order モデルの ID を 1000 から開始し、そこから自動インクリメントでカウントアップしたいと考えています。
これは移行によって行うことができますか?
移行では、テーブルが作成された後、次のようにシーケンスを更新します。
create_table :products do |t|
t.string :name
# other stuff
end
# for Postgres
execute "SELECT setval('products_id_seq', 1000)"
# and for mysql ...
execute "ALTER TABLE products AUTO_INCREMENT = 1000"
これはテストされておらず、使用しているデータベースがわかりません。
create_table(:order, :id => false) do |t|
t.integer :id, :options => 'PRIMARY KEY', :default => 1000
または、すでにテーブルがある場合は、この移行を試してください
def change
execute "ALTER TABLE orders AUTO_INCREMENT = 1000"
end