php - 如何创建 "All edits are tracked"

标签 php mysql version-control versioning yii

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

用户可以发布和编辑一些文章。 如何在 SO 中存储像这里这样的每个编辑版本? (与维基百科一样,该网站是协作编辑的,并且所有编辑都被跟踪)

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

更新。以及如何显示修订之间的更改,就像 SO 中的此处一样?

谢谢

最佳答案

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

另一种方法是用一个列来存储提交更新的时间(也许只是“创建时间”?),然后您可以从中收集有多少更新(计算行数)以及它们的顺序在(按日期排序)。

关于php - 如何创建 "All edits are tracked",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5402616/

相关文章:

php - 在PHP中显示Elasticsearch查询的所有汇总结果

javascript - 通过ajax更新laravel数据库

java - JDBC ResultSet是应用级查询游标吗

mysql - 在一个查询中从两个表中删除行

ruby-on-rails - 为什么默认情况下我的 Rails 应用程序的 .gitignore 文件中包含 config/database.yml?

git - 如果我在 git 中删除父分支,子分支会发生什么

version-control - Mercurial:重命名书签

php - 如何使用 file_get_contents() 在 Windows NT Auth 之后检索文件

mysql - Laravel 4.2 中的点赞和分组

php - 将密码插入数据库,与常规文本字段有什么区别?