Rails 迁移期间如何避免 id 字段上的隐式序列

baa*_*h05 4 activerecord ruby-on-rails primary-key sequence

我正在尝试在 Rails 中创建一个表。我需要能够将 id 设置为传入的数据,因为我有三个(或更多)源,并且它们的 ID 必须匹配。
我根据输入的数据手动设置 ID。

当我通过迁移创建表时,收到消息“将创建隐式序列”,我不希望这种情况发生......我该如何避免它?

我知道为什么它总是存在..但有时我们需要定制不是吗?:)

Yan*_*hao 6

ActiveRecord 默认情况下使 :primary_key 列自动递增。如果您不希望主键自动递增,也许您必须自己创建主键。

create_table :table_name, :id => false do |t|
  t.integer :id
  t.timestamps
end
ActiveRecord::Base.connection.execute("ALTER TABLE table_name ADD PRIMARY KEY (id)")
Run Code Online (Sandbox Code Playgroud)