我是否必须在rails应用程序中显式生成外键的迁移?

时间:2013-04-30 04:44:44

标签: ruby-on-rails ruby ruby-on-rails-3 activerecord migration

假设我有模型人和模型书。一个人有很多书。我在Person的模型中有很多书,在Book的模型中有belongs_to。当我生成这些脚手架时,数据库中没有外键。我是否必须始终使用约定创建迁移,例如book_id,手动?为什么rails不链接数据库上的东西?我没弄清楚Rails如何将所有东西结合在一起。

3 个答案:

答案 0 :(得分:4)

或者是什么相同:

rails g scaffold book name:string person:references

这将在书表中创建一个person_id字段。

答案 1 :(得分:1)

铁路公司没有理由对此做出任何假设。您可以使用scaffold创建外键,或者在运行之前自行修复迁移。

rails generate scaffold book name:string person_id:integer

答案 2 :(得分:1)

如果要强制执行数据库外键,则必须使用foreigner

之类的gem