Rails foreign_key必须是整数吗?

时间:2011-02-17 23:58:36

标签: mysql ruby-on-rails foreign-keys

我们有来自第三方的一些导入数据,它提供非整数唯一ID。

在Rails 2.2.2中,我们能够在:foreign_key关系中使用has_many与非整数列,并且它有效。

但我们现在正在升级到Rails 2.3.8,它似乎强迫foreign_key为整数。有没有人找到办法让这个工作?

1 个答案:

答案 0 :(得分:1)

根据this answer,必须使用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 mentioned,您的ActiveRecord模型应使用set_primary_key设置主键:

class Employee < ActiveRecord::Base
  set_primary_key :emp_id
  ...
end