繁体   English   中英

Rails的Foreign_key是否必须为整数?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM