我正在建立一个网站,显示在我们的数据库中有交易的变化。例如,如果交易状态从待定更改为成功,我想要显示它,如果值上升或下降,我想显示它,诸如此类的事情。此外,如果您打开概述页面,我希望它显示更改的历史记录。因此,我需要某种类型的更改日志,以便能够查看过去。我该怎么做呢?
这是一个rails项目,但我认为这无关紧要。
发布于 2013-10-22 11:16:26
纸迹宝石
既然你是在Rails上,那就来看看PaperTrail gem吧。它做的就是你想要的,而且做得很漂亮。您只需添加一个回调,以便您的概述页面知道发生了更改。但是对于模型的历史,只需使用内置的PaperTrail功能即可。
发布于 2011-01-14 20:25:08
我怀疑是否有任何通用的解决方案来解决这个问题。
你可以推出你自己的。首先考虑所有需要更改日志记录的对象。有多少种类型?您希望更改多长时间发生一次?这将帮助您估计需要处理的潜在更改吞吐量数量。如果没有太多,只需将它们放入数据库。如果您正在生成大量数据,请尝试存储到逗号分隔值文件中。
我以前也实现过类似的系统。我有三种类型的更改: 1)属性值更改,2)向列表添加值,3)从列表中删除值。
我使用了以下格式,存储在日志文件中:
//For type 1)
1,2011/01/01 00:00:00,MyObject,myProperty,oldValue,newValue
//For type 2)
2,2011/01/01 00:00:00,MyObject,myListProperty,addedValue
//For type 3)
3,2011/01/01 00:00:00,MyObject,myListProperty,removedValue这捕获了我需要的大部分信息。value部分只是一些用户可读的更改/添加/删除属性值的摘要。
https://stackoverflow.com/questions/4690721
复制相似问题