在Rails应用程序中,我在MySQL中设置了外键约束,这些约束是手动设置的,并与我的迁移脚本无关。
我正在尝试确定是否应该使用ActiveRecord的
我应该在模型中省略dependent选项,让它由数据库自行处理吗?还是最好将其包含在内?在这个应用程序中,我不需要在删除内容时运行任何回调。在所有情况下,直接删除即可。
另一个要考虑的因素是,在我的测试环境中,FK约束可能不存在,因为“rake db:test:prepare”没有设置它们。因此,如果完全依赖MySQL来级联删除,很难测试出会发生什么。
我正在尝试确定是否应该使用ActiveRecord的
:dependent => :destroy
选项。例如,在我的模式中,我有表...users
-----
log_entries
-----------
user_id # Has FK constraint to users.id with ON DELETE CASCADE
在我的模型中,我可以有...
(内容不足,请提供更多需要翻译的文本)class User < ActiveRecord::Base
has_many :log_entries, :dependent => :destroy
end
我应该在模型中省略dependent选项,让它由数据库自行处理吗?还是最好将其包含在内?在这个应用程序中,我不需要在删除内容时运行任何回调。在所有情况下,直接删除即可。
另一个要考虑的因素是,在我的测试环境中,FK约束可能不存在,因为“rake db:test:prepare”没有设置它们。因此,如果完全依赖MySQL来级联删除,很难测试出会发生什么。