我有一个评论表,其中包含以下字段:
对于我正在构建的网站,我希望用户能够删除他们的帐户。执行此操作后,删除的用户所做的任何评论也将被删除。
我担心的是,如果属于已删除用户的评论有儿童评论怎么办?他们会有一个不存在的父母,我不觉得我应该自动删除这些评论,因为他们属于制作这些评论的用户,但他们确实变得无关紧要,因为他们回复了不再存在的评论。
我最初的想法是保留已删除的评论记录,但删除用户ID和评论。然后,所有子评论的可见性将更改为隐藏,直到这些评论的用户选择删除它们。
这是一个好方法吗,有没有更好的方法来处理这种情况?我问的是数据库设计和概念。
答案 0 :(得分:0)
这一切都取决于你想要遵守的政策以及评论本身的敏感性。 除了你的方法,你可以考虑以下几点:
TRANSPARENT
:
您删除所有注释以及子注释,因为没有父项没有意义。制作这些用户的用户不知道他们评论了什么。
这样可以保持数据库清洁并避免使用孤立注释。
PHANTOM
:
用户的叶评论将被删除。带有子评论的评论现在已脱离用户的帐户并分配给幻像用户。
仍然有效发布儿童评论的用户可以看到他们所有的评论,这很好。
答案 1 :(得分:0)
我建议保留孩子的评论,只要发布他们的用户或他们所属的对话的用户仍然存在。如果这两个用户都被删除,那么您可以将其删除。
此外,您可以添加一个标记为已删除的标记,而不是从数据库中删除用户。令人惊讶的是,有多少次这样的事情需要撤消。然后,您可以拥有一个后台作业,删除超过X个月的用户。