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

时间:2015-02-17 18:03:54

标签: ruby-on-rails ruby-on-rails-4

我想保留子记录和层次结构,即使父项被删除也是如此。我看到两个选择:

  1. 保留现有父级并使用“deleted_at”字段来指示 父本身不活跃,但这种关系仍然存在。这将导致永久存储许多有效死亡的父记录。咩。
  2. 将所有已放弃的子记录分配给通用的“收集器”僵尸父记录。我更喜欢这个,但是你把历史记录丢失到儿童记录的原始来源。
  3. 我没有Rails的经验,无法预见这两个中哪一个是最可取的路径,或者可能有一个完全不同的解决方案。

    SO告诉我这似乎是一个主观问题,他们可能会关闭它。我希望不会,因为我确信这是其他人也有的问题。

1 个答案:

答案 0 :(得分:0)

在我看来,你基本上都在询问"软删除"功能。当我想要这种行为时,我通常会添加active属性,默认为true。我还在模型中添加active范围,以便我可以执行Salon.active之类的操作,以方便地获取所有活动的内容。

所以我想我的回答是我会做#1之类的事情,我称之为软删除。想法#2对我来说似乎很疯狂。