如果我有一个名为Person(ID,Name,Version)的表,我想让它为用户输入现有人的更新创建一个新版本的行。这样一个人可以采取并做出改变。与Hg等人进行版本控制的方式完全相同。这个想法是,如果一个人A输入x,B人就可以编辑它并拥有x.1的本地副本,并且具有合并回x的所有美感。
最好将其结构如下:
Person(ID,Name,Version)
,并使用某种Dewey系统进行修订
要么
Person(ID,Name,Version, Creator)
,并为用户使用本地版本
或某种
Person(ID,Name,Person_Id, Creator)
,
或者对于以行为中心的版本控制有更好的想法吗?
UI中的最终结果如下:
列表中有x
A人已更新x [忽略],[使用A的更改进行更新]
B人已更新x [忽略],[更新B更改]
答案 0 :(得分:0)
你可以在行的开始和结束日期:
PersonID StartDt EndDt UpdatedBy Other columns
1 2012-01-01 2012-02-01 Fred
1 2012-02-01 2012-03-01 Alice
1 2012-03-01 Thomas
每个编辑都会与进行更改的人员一起记录。您还可以查看该行处于活动状态的时间段。要搜索当前行,您可以使用EndDt is null
。