将默认ActiveRecord id从0更改为1000000

4 ruby activerecord ruby-on-rails

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

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

Mar*_*nos 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
Run Code Online (Sandbox Code Playgroud)

请注意,execute方法调用是在create_table块之外进行的.