如何在Rails Active Record中关闭auto_increment?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (33)

是否可以auto_incrementActiveRecord中创建没有标志的主键?

create table :blah, :id => false

是否可以在没有auto_increment的情况下创建主键?

提问于
用户回答回答于

尝试这个:

create_table(:table_name, :id => false) do |t|
  t.integer :id, :options => 'PRIMARY KEY'
end
用户回答回答于

你可以创建这样的表:

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :routers, { id: false } do |t|
      t.integer :id
    end

    execute "ALTER TABLE routers ADD PRIMARY KEY (id);"
  end
end

这在Rails 4.0.2和PostgreSQL 9.3.2中确实有效。

扫码关注云+社区

领取腾讯云代金券