Ear*_*rlz 14 migration postgresql ruby-on-rails foreign-keys
我是Ruby on Rails的新手(虽然我很熟悉Ruby)并且看着Migration工具,听起来真的很棒.数据库模式最终(很容易)进入源代码管理.
现在我的问题.使用Postgres作为数据库时,它不会设置外键.我想在我的架构中使用外键的好处,例如引用完整性.那么如何在迁移中应用外键?
mik*_*son 13
Rails的理念是完整性检查是属于模型的业务逻辑.这就是为什么你看到你在数据库中看到的东西; whatever_id只是一个int而不是一个"真正的"fk.它不是一个错误,它的设计和起初有点怪异.通常,驱动人们在数据库级别使用fks的唯一原因是当数据库被多个应用程序或其遗留系统访问时.这里有很多讨论和一些很棒的链接:为什么Rails迁移在应用程序中定义外键而在数据库中没有?
看看这个:http://github.com/matthuhiggins/foreigner
但首先要确保你确实需要它们(如引用完整性是什么,理论上为你的代码行应该不是只要破了,你知道:dependent => :destroy之间的差异user.delete和user.destroy).
| 归档时间: |
|
| 查看次数: |
10981 次 |
| 最近记录: |