将默认ActiveRecord id从0更改为1000000

我想将创建对象的id的最小值从1更改为1000.因此,当我在rails中创建第一个模型对象时,它获取ID 1000而不是1。

有没有办法在架构/迁移文件中设置它?

我不熟悉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块之外进行的。

对于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开始。