【问题标题】:How do I avoid the implicit sequence on the id field during rails migration在rails迁移期间如何避免id字段上的隐式序列
【发布时间】:2012-04-10 12:53:54
【问题描述】:
我正在尝试在 rails 中创建一个表。我需要能够将 id 设置为传入的数据,因为我有三个(或更多)源,并且它们的 ID 必须匹配。
我根据输入的数据手动设置 ID。
当我使用迁移创建表时,我收到消息
“将创建隐式序列”
我不希望这种情况发生...我该如何避免呢?
我知道为什么它总是在那里.. 但有时我们需要定制不是吗? :)
【问题讨论】:
标签:
ruby-on-rails
activerecord
primary-key
sequence
【解决方案1】:
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)")