要求是用户应该能够看到页面/帖子发生的历史记录。有点像文件的git commit history,但这里是数据库单记录。
我们当前的架构是遗留的,不想做大规模的重构。我正在寻找一些可以挂钩的第三方供应商/库。因此它将存储所有数据更新和删除。然后我可以获得所有字段的历史记录,并且应该能够为用户提供一个很好的界面,看看每个更新中发生了哪些变化。
答案 0 :(得分:0)
好吧,我不知道管理快照的第三方库(你真的 想要对每次更改进行快照吗?),但是一种简单的方法可以做你想要的,是使用database triggers。我们的想法是,您可以在源表上发生更改(即插入,更新或删除)时执行某些SQL。因此,捕获此类更改的一种方法是在触发器中执行插入到单独的审计表中,以便对源表中的每个插入,更新或删除都记录为审计表中的新记录。您还需要记录已执行的操作(插入,更新或删除)以及可选的时间戳,自动递增列或有关进行更改的用户的信息。因此,您的审计表将包含源表的所有字段以及一些其他字段。
此审计表将继续增长,因此您可能需要最终考虑使用非常古老的历史记录执行的操作。您最终可能需要某种存档过程。