轨道中的参照完整性

时间:2010-08-09 09:25:43

标签: ruby-on-rails foreign-keys referential-integrity

所以,我刚刚发现rails不支持关于外键的引用完整性,并且相当惊讶。那么,管理这个的最佳方法是什么?是否存在处理参照完整性的“轨道”方式?

理想情况下,应用程序不应该处理所有这些;数据库应该。我正在寻找像外国人一样的插件。我想知道这种方法是否有一些缺点。通常如何处理rails?

2 个答案:

答案 0 :(得分:6)

这是Rails ActiveRecord的设计决定。

  

我考虑存储过程和   约束恶劣和鲁莽   连贯性的驱逐舰。不,先生。   数据库,你不能拥有我的业务   逻辑。你的程序野心会   没有水果,你将不得不撬   我死了,冷酷的逻辑   面向对象的手。

Choose a single layer of cleverness - DHH

所以答案是DB处理的引用完整性根本不是Rails方式。

答案 1 :(得分:1)

您可以使用

提供程序化参照完整性
,:dependent => :restrict

在你的has_one和has_many语句中!

Blog describing this and how to check before error occurs

Relevant Active Record docs