如何为我的IdClient字段设置主键?我已尝试过所有方法,但我会收到错误(rails 3.0.9)...你能帮助我吗?
class CreateCustomers < ActiveRecord::Migration
def self.up
create_table :customers do |t|
t.integer :IdCustomer
t.string :username
t.string :crypted_password
t.string :password_salt
t.string :persistence_token
t.string :email
t.string :Skype
t.string :ICQ
t.string :Firstname
t.string :Lastname
t.string :Country
t.string :State
t.string :City
t.string :Street
t.string :Building
t.integer :Room
t.string :AddressNote
t.date :DateOfReg
t.integer :CustGroup
t.float :TotalBuy
t.timestamps
add_index(:customers, :IdCustomer, :unique => true)
end
end
def self.down
drop_table :customers
end
end
如何在模型中设置关系?
答案 0 :(得分:19)
不要这样做。使用内置的id
字段作为主键。如果你要使用Rails,你应该以“Rails方式”构建你的应用程序,除非你非常有充分理由不这样做。
如果您真的想这样做,可以将:primary_key
选项传递给create_table
:
create_table :customers, :primary_key => :idClient do |t|
# ...
end
您还需要通过self.primary_key = "idClient"