我有一个名为MyModelA和MyModelB的ruby模型,如下所示
class MyModelA < ActiveRecord::Base
belongs_to :mymodelb
class MyModelB < ActiveRecord::Base
# Blah Blah Blah
当我使用rake db:create命令创建数据库时,我注意到MYMODELA表没有外键约束。我手动插入它:
ALTER TABLE MYMODELA ADD FOREIGN KEY (MYMODELB_ID) REFERENCES MYMODELB(ID);
如何定义我的模型,以便自动创建此DB外键约束,而不必在以后手动添加它?
答案 0 :(得分:1)
Rails没有提供迁移助手来添加foreign_key。但是你可以使用foreigner gem
您这样做是为了使用foreigner gem
添加foreign_key create_table :products do |t|
t.string :name
t.integer :factory_id
t.foreign_key :factories
end
答案 1 :(得分:-1)
生成迁移:
rails g migration AddmymodelbidToMyModelA mymodelb_id:integer
转到迁移文件并添加
add_index:mymodela,:mymodelb_id
恰好在两个结束条款之间
运行 rake:db:migrate