我们有来自第三方的一些导入数据,它提供非整数唯一ID。
在Rails 2.2.2中,我们能够在:foreign_key
关系中使用has_many
与非整数列,并且它有效。
但我们现在正在升级到Rails 2.3.8,它似乎强迫foreign_key为整数。有没有人找到办法让这个工作?
答案 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