在我的记录管理应用程序中实现版本控制的轨道方式是什么?
我的系统允许用户管理记录,我希望允许他们查看记录的历史版本。我知道而不是更新记录我会在每次用户“更新”记录时创建记录和相关模型的新实例(每个记录< / strong> has_many
类别和优势)。我如何确保记录的不同版本全部链接在一起(即创建的新更新记录将作为记录A的新版本关联,所以当我点击“显示所有列表”时记录A“)的版本。
这是理论上的思考,因为我还没有开始编码,如果我错过任何我应该考虑的事情,请告诉我。
谢谢
答案 0 :(得分:1)
每次用户更新时都会创建一个新的记录实例,如上所述,拥有一个辅助ID,将同一记录的所有不同版本组合在一起,然后在控制器中运行检查(使用某种隐藏值) )查看是否要保存记录或创建新记录。
然后,您可以通过查找具有唯一secondary_id的最近更新/创建的记录来检索每条记录的最新版本。
答案 1 :(得分:0)
一个好的起点可能是vestal versions gem,它保存了修改记录的历史记录
答案 2 :(得分:0)
以下是我的2个见解:
第一个简单的:
您保存了一个ID较高的记录,当您阅读它时,您会获得更高的ID。如果你想知道过去不要过滤ids。
2nd(来自SAP的部分):
您的记录有2个补充字段,即startTime,stopTime。这是记录开始进入行动并停止行动的时间。插入新记录,更新最后一个记录的stopTime,现在将其作为新记录的startTime,以及新记录的stopTime的世界末尾