我正在为客户CMS编写后端,并且正在寻找以下用例的术语/框架/模式/机制:
假设我的数据库中有一个Person。基于N个第三方服务,我获得了此人的新数据(例如地址更改)。现在,我不允许将对第三方服务所做的更改应用于我的Person数据集。相反,我需要以某种方式标记此Person,以便找到该Person的更新,并且真实的人必须查看此更改,然后才能将其应用于数据库中的Person对象。
因此,我正在寻找一种简化此方法的方法,而无需在数据库和后端中创建庞大的,过度设计的变更系统。我以为我需要一个类似版本控制系统的数据库,并且每次更改时,我都会创建该数据集的新修订版,并允许真实的人将某个修订版标记为“实时”修订版。
我希望我的文字有意义,并且有人可以帮助我,至少允许我在Google上输入正确的词:-)
谢谢!
答案 0 :(得分:1)
使用以下列创建表:
ID, Person, DateChange, Approved
ID 是自动递增的主键。
人员引用人员表条目
DateChange 是带有人物对象更改日期的日期对象
已批准是一个布尔值,用于确定更改是否已被批准。
如果要创建每个人的修订版(即使已存在),则必须创建一个新的人条目并将其添加到此表中。
然后有一些查询,将获得所有未批准的条目,某人可以查看并“批准”该条目。
获得批准后,您可以从该表中获取所有“已批准”条目,并按更改的日期排序,并为第一个显示最新信息的人显示第一个条目。