0

我正在尝试锻炼如何建议/告诉 activerecord 默认情况下不要创建它的主索引。

有谁知道我怎么能做到这一点?

class CreateHouse < ActiveRecord::Migration
 def change
    create_table :houses do |table|
      table.string :name, :null => false, :unique => true
      table.integer :number, :null => false, :unique => true
      table.string :category, :null => false
      table.timestamps(:null => false)
    end
    add_index :houses, [:category, :number], :unique => true
  end
end

谢谢

4

1 回答 1

2

您可以添加id: false到您的create_table定义中。尝试以下操作:

class CreateHouse < ActiveRecord::Migration
 def change
    create_table :houses, id: false do |table|
      table.string :name, :null => false, :unique => true
      table.integer :number, :null => false, :unique => true
      table.string :category, :null => false
      table.timestamps(:null => false)
    end
    add_index :houses, [:category, :number], :unique => true
  end
end

更新:

更新create_tableadd_index阻止使用:houses符号,而不是:storeskengimel 在编辑请求中建议的(显然被拒绝了!)。

于 2013-08-07T17:21:15.133 回答