我在我的网站上使用PHP(Yii-framework)和MySQL数据库。
用户可以发布和编辑一些文章。 如何在SO中存储每个编辑版本? (与维基百科一样,此网站经过协作编辑,跟踪所有修改)
我应该使用什么以及如何使用?数据库结构?一些图书馆? 我应该使用哪些关键字来进行谷歌搜索? :)
UPD 即可。以及如何在修订版之间显示更改,例如SO?
由于
答案 0 :(得分:2)
我将使用您当前的数据库结构(如果您有一个,否则请使用您需要的所有字段),但添加1或2个额外列,最重要的是修订号。每次进行修订时,这可以简单地递增。在数据库INSERT
命令中干净地编码可能很棘手(请注意,使用INSERT
而不是UPDATE
,因为您想保留旧帖子)。
另一种方法是让一个列存储更新提交的时间(也许只是“创建时间”?),然后你就可以收集到已经有多少更新(计算行数),以及它们的顺序是什么是(按日期排序)。
答案 1 :(得分:0)
您正在寻找具有审核日志记录功能的PHP ORM。 Yii框架中嵌入的ORM是什么?
我知道Symfony使用Doctrine并且有专门的Versionable Plugin,可以完全按照您的意愿行事。
也许“logable_behavio r” Yii骨架可以为您提供帮助。