我正在使用 PHP / MySQL 创建论坛。我要添加的一个功能是能够删除类别,我想知道在被删除的类别中备份主题和回复的最佳方法。
我知道这样做的方法,但我觉得这不是正确的方法,所以我正在寻找其他选择。
我已经尝试寻找其他人这样做的方法,但我没有想出任何结果。
谢谢你。
虽然它可能需要重写一些查询,但首选的方法是添加一个post_deleted
列,并且只显示post_deleted=0
实时站点上的帖子。与其实际删除帖子,post_deleted=1
不如稍后设置并查看它。然后,如果需要,您可以定期真正删除这些帖子。最终结果是非常详细的审计跟踪。
2个解决方案:
创建一个默认为 true 的 post_active 字段。如果该行处于活动状态,则显示它,如果不认为它已删除
创建已删除内容的重复表。每次删除一行,添加到日志中
如果需要,您可以通过将数据存储到 2 个表中来实现版本历史功能 - 一个包含数据层次结构 [表 a],另一个包含实际信息 [表 b]。每次修改条目时,使用新数据在表 B 中创建一个重复行,并更新表 A 中的层次结构以链接到表 B 中的新记录。如果新记录具有链接到旧记录的字段,则您可以实现撤消功能