假设我有两个表:users
和orders
. 一个用户有很多订单,所以我的订单表中自然有一个外键 user_id。
Rails 中的最佳实践是什么(在速度、样式和引用完整性方面),以确保如果删除用户,所有相关订单也被删除?我正在考虑以下选项:
案例一:dependent => :destroy
、在用户模型中使用
案例 2. 在 postgres 中定义表 order 并编写
user_id integer REFERENCES users(id) ON DELETE CASCADE
我有什么理由应该使用案例 1?似乎案例 2 正在做我想做的一切?执行速度有区别吗?