可能重复How to turn off auto_increment in Rails Active Record
对rails很新,我想创建一个fm_zipcodes
表zipcode
作为主键,但我不想要额外的auto_increment
。我尝试了不同的方法,但没有一个方法适合我,auto_increment
没有反映在db/schema.rb
文件中。
create_table :fm_zipcodes, :primary_key => :zipcode do |t|
t.integer :state_id, null: false
..
end
答案 0 :(得分:1)
我会做这样的事情:
# in your migration
def up
create_table :fm_zipcodes, id: false do |t|
t.integer :zipcode, null: false
# ...
end
add_index :fm_zipcodes, :zipcode, unique: true
end
# in your FmZipcode model
self.primary_key = 'zipcode'
答案 1 :(得分:0)
create_table :fm_zipcodes do |t|
t.integer :zipcode, null: false
# ...
end
add_foreign_key :fm_zipcodes, :zipcode