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

时间:2012-03-27 00:57:00

标签: ruby-on-rails activerecord primary-key sequence

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

当我使用迁移创建表时,我收到消息 “会创造隐含的序列” 我不希望这种情况发生......我该如何避免呢?

我知道为什么它总是在那里......但有时我们需要定制没有? :)

1 个答案:

答案 0 :(得分:4)

ActiveRecord默认使用:primary_key列auto_increment。如果你不想要auto_increment,也许你必须自己创建主键。

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)")