![]() |
1
5
这是一个神圣的问题,因为dhh(rails的创建者)之前已经声明,他认为数据库本质上是一个巨大的哈希表,所以不考虑通过使用诸如约束或存储过程之类的特性来利用数据库引擎擅长的一些东西。由rails纯粹主义者设计的rails。 也就是说,如果您希望强制数据的完整性与数据最接近,或者如果您的数据库被其他应用程序共享,那么就一定要使用其中一个插件来创建外键。毕竟,它会造成什么伤害,对吧? |
![]() |
2
8
除了约翰·托普利的回答之外,我做了一些研究,发现了DHH关于这个话题的一些想法,这让我读到了一篇有趣的文章:
我找不到dhh将数据库称为“巨大的散列”,所以也许john正在改写另一个引语。我想读一本更新版的DHH的意见书。 在过去的几年里,我没有从别人那里得到太多的意见。以下是我找到的: |
![]() |
3
4
rails并不阻止您在数据库中使用外键约束,它只是在默认情况下不会将它们提供给您。“rails方式”是依赖rails来管理数据库、级联删除、强制引用完整性等。 有几个插件可以向迁移添加外键约束,但我通常选择手动添加它们。假设您已经创建了createusers和createposts迁移,则可以添加“linkpoststousers”迁移:
|
![]() |
Animesh Arya · 关联模型的Rspec 2 年前 |
![]() |
Kellen · 查看$卷展栏功能列表 2 年前 |
![]() |
Akshit Thakur Ak · 我怎样才能把铁轨停下来? 2 年前 |
![]() |
solidsnake99 · Rails db:如何绕过验证 2 年前 |
![]() |
Spyros · 从数组中删除nil值,并从引用数组中删除相应的项 2 年前 |
![]() |
Pauli-E · 当div打开并滚动到屏幕上时,向div添加类 2 年前 |
![]() |
ejoka · 如何使用Rails 7模型属性作为CSS标记值 2 年前 |