创建Rails应用后如何添加外键

8

在rails中,表已经创建后添加外键关系的正确方式是什么?我已经在我的模型中定义了这个关系,但是我是否需要使用generate migration手动将[foreigntable]_id字段添加到表中?或者还有其他选项吗?


3
迁移是您对数据库进行任何更改的方式。 - Mark Thomas
2个回答

14

你绝对需要创建一个新的迁移:

rails g migration add_foreign_key_to_model_name_pluralized foreigntable_id:integer
例子:
rails g migration add_foreign_key_to_users profile_id:integer

2

你需要使用像foreigner这样的gem将FK约束添加到数据库中。@apneadiving提供的答案在用户表中添加了一个“profile_id”列。正如所述,这是一种关系,但不是DB中的约束。只是想指出一下,因为我现在正在做类似的事情。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接