内容版本控制

|| 我刚刚开始一个项目,我想拥有一个带有版本控制功能的小型内容管理器。但是我不知道对数据库建模的最佳方法是什么。 我有包含以下字段的内容表: id主键序列号, content_id int(用于标识不同内容的字段), 标题varchar, 内容长文本, 版本int默认\'1 \', create_date日期, 我已经看到一些CMS在不同于实际修订版本的表中将修订版本分开,最好的方法是什么?有没有优化的方法? 谢谢!
已邀请:
我设计了这样的东西,这就是要点。 我为要具有行级版本控制的每个表创建镜像表。假设您有CUSTOMER表。您的镜像版本控制表将为VER_CUSTOMER 我要具有行级版本控制的每个表都有一个称为RECORD_ID(GUID)的列 当记录插入到该表中时,我将生成新的GUID并填充该字段。新记录也以RECORD_ID插入到VER_CUSTOMER表中,并添加到表的自然PK中。 记录更新后,我再次生成新的GUID。使用此新的GUID填充RECORD_ID。更新的记录也进入VER_CUSTOMER表。 删除记录后,我将CUSTOMER表上的记录标记为DELETED(不是物理删除记录)。我在每个表上都有IS_DELETED列。当尝试删除记录时,我将该列设置为TRUE。同样,已删除记录的副本也将进入VER_CUSTOMER表。 因此,您在该表上进行的每笔交易在VER_CUSTOMER表中都有一条对应的记录,其中RECORD_ID和表的自然PK为PK。例如,如果CUSTOMER表的PK为CUST_ID。 VER_CUSTOMER的PK将为复合CUST_ID和RECORD_ID。 希望这可以帮助...
这已经存在,没有数据库: gitit(用Haskell编写,使用git或darcs作为后端) ikiwiki(用Perl编写,可以使用各种版本控制系统作为后端) 它们都是开源的,并且都具有插件架构,因此可以根据您的特定需求进行自定义。 (但是,我只使用了gitit。) 但是,我会注意到git在对大型二进制文件进行版本控制方面并不完美,而darcs却很糟糕。需要提防的东西。

要回复问题请先登录注册