Rails 4+最佳实践:在保留子级的同时删除父级

16 浏览
0 Comments

Rails 4+最佳实践:在保留子级的同时删除父级

即使父级被删除,我想保留子记录和层级结构。我看到两个选项:\n

    \n

  1. 保留现有的父级并利用一个\"deleted_at\"字段来指示父级本身是非活动的,但关系仍然存在。这将导致一些实际上已经过时的父记录永远存储。无所谓。
  2. \n

  3. 将所有被遗弃的子记录分配给一个通用的\"collector\"僵尸父记录。我更倾向于这个选项,但这样就会失去子记录的原始来源的历史。
  4. \n

\n我没有足够的Rails经验来预见这两种选择中哪种是最明智的路径,或者也许还有完全不同的解决方案。\nSO告诉我这似乎是一个主观的问题,他们可能会关闭它。我希望不会,因为我确定其他人也会有同样的问题。

0
0 Comments

在Rails 4+中,有一个关于删除父对象但保留子对象的最佳实践问题。问题的出现是因为希望实现“软删除”功能,即在删除父对象时,将父对象的一个名为active的属性设置为true,并且给模型添加一个名为active的作用域,以便在需要时方便地获取所有活动的对象。

对于这个问题,可以采取类似方法#1的“软删除”方式,而方法#2则显得相当疯狂。

通过实现软删除功能,可以将被删除的父对象标记为active = false,而不是直接从数据库中删除它们。这样可以保留与父对象相关联的子对象,并且在需要时可以方便地恢复父对象。这种方法被认为是最佳实践。

谢谢!看起来软删除是最佳实践的方式。

0