[英]Does a Rails foreign_key have to be an integer?
我们从第三方提供了一些导入数据,该数据提供了非整数的唯一ID。
在Rails 2.2.2中,我们可以在has_many
关系中对非整数列使用:foreign_key
,并且可以正常工作。
但是我们现在正在升级到Rails 2.3.8,这似乎将Foreign_key强制为整数。 有没有人找到一种使它工作的方法?
根据此答案 ,该过程必须使用execute
来完成:
create_table :employees, {:id => false} do |t|
t.string :emp_id
t.string :first_name
t.string :last_name
end
execute "ALTER TABLE employees ADD PRIMARY KEY (emp_id);"
正如Sean McCleary所述 ,您的ActiveRecord模型应使用set_primary_key
设置主键:
class Employee < ActiveRecord::Base
set_primary_key :emp_id
...
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.