我想将创建对象的id的最小值从1更改为1000。 因此,当我在rails中创建我的第一个模型对象时,它获取ID 1000而不是1。
有没有办法在架构/迁移文件中设置它?
答案 0 :(得分:5)
我不熟悉MySQL,但对于Postgres,您可以在迁移文件中执行以下操作:
class CreateCustomers < ActiveRecord::Migration
def self.up
create_table :customers do |t|
t.string :name
t.timestamps
end
execute "SELECT setval('customers_id_seq', 1000);"
end
请注意,execute方法调用是在create_table块之外进行的。
答案 1 :(得分:4)
对于MySQL使用
class CreateCustomers < ActiveRecord::Migration
def self.up
create_table :customers do |t|
t.string :name
t.timestamps
end
execute "ALTER TABLE customers AUTO_INCREMENT = 1000;"
end
这将使您的auto_increment字段(id)从值1000开始。