0

我正在使用 PHP / MySQL 创建论坛。我要添加的一个功能是能够删除类别,我想知道在被删除的类别中备份主题和回复的最佳方法。

我知道这样做的方法,但我觉得这不是正确的方法,所以我正在寻找其他选择。

我已经尝试寻找其他人这样做的方法,但我没有想出任何结果。

谢谢你。

4

2 回答 2

3

虽然它可能需要重写一些查询,但首选的方法是添加一个post_deleted列,并且只显示post_deleted=0实时站点上的帖子。与其实际删除帖子,post_deleted=1不如稍后设置并查看它。然后,如果需要,您可以定期真正删除这些帖子。最终结果是非常详细的审计跟踪。

于 2013-03-06T01:36:40.703 回答
1

2个解决方案:

  • 创建一个默认为 true 的 post_active 字段。如果该行处于活动状态,则显示它,如果不认为它已删除

  • 创建已删除内容的重复表。每次删除一行,添加到日志中

如果需要,您可以通过将数据存储到 2 个表中来实现版本历史功能 - 一个包含数据层次结构 [表 a],另一个包含实际信息 [表 b]。每次修改条目时,使用新数据在表 B 中创建一个重复行,并更新表 A 中的层次结构以链接到表 B 中的新记录。如果新记录具有链接到旧记录的字段,则您可以实现撤消功能

于 2013-03-06T02:18:23.283 回答