【问题标题】: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)")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多