我应该使用rails 4.2添加foreign_key吗?

Fil*_*uzi 6 ruby-on-rails ruby-on-rails-4 ruby-on-rails-4.2

通过发布rails 4.2 引入了add_foreing_key方法.据我所知,它被用作与model:references和的迁移的组合add_index.

假设我只使用PostreSQL.(add_foreing_key仅限于MySQL和PostreSQL).应停止使用add_foreign_keymigration model:references和开始使用add_index只?如果是/否,为什么?新add_foreign_key方法有什么好处?是否值得交换?

Fil*_*uzi 4

外键约束可以帮助实现引用完整性(例如,您不能插入属于不存在的书籍的数据)。外键还提供数据库级引用完整性,而不是应用程序级(模型验证)完整性。

Rails 团队认为这一点非常重要,现在只要您在生成迁移时使用引用,他们就会自动创建外键。