如何创建“跟踪所有编辑”

时间:2011-03-23 08:34:49

标签: php mysql version-control versioning yii

我在我的网站上使用PHP(Yii-framework)和MySQL数据库。

用户可以发布和编辑一些文章。 如何在SO中存储每个编辑版本? (与维基百科一样,此网站经过协作编辑,跟踪所有修改

我应该使用什么以及如何使用?数据库结构?一些图书馆? 我应该使用哪些关键字来进行谷歌搜索? :)

UPD 即可。以及如何在修订版之间显示更改,例如SO?

由于

2 个答案:

答案 0 :(得分:2)

我将使用您当前的数据库结构(如果您有一个,否则请使用您需要的所有字段),但添加1或2个额外列,最重要的是修订号。每次进行修订时,这可以简单地递增。在数据库INSERT命令中干净地编码可能很棘手(请注意,使用INSERT而不是UPDATE,因为您想保留旧帖子)。

另一种方法是让一个列存储更新提交的时间(也许只是“创建时间”?),然后你就可以收集到已经有多少更新(计算行数),以及它们的顺序是什么是(按日期排序)。

答案 1 :(得分:0)

您正在寻找具有审核日志记录功能的PHP ORM。 Yii框架中嵌入的ORM是什么?

我知道Symfony使用Doctrine并且有专门的Versionable Plugin,可以完全按照您的意愿行事。

也许“logable_behavio r” Yii骨架可以为您提供帮助。