我必须将文章等数据存储到mysql数据库中,如果文章被修改,我还必须保存旧版本以便恢复它。我在这个主题上发现了一些类似的问题和帖子,但我不确定,哪种解决方案最能解决问题。mysql数据版本控制系统的最佳做法
这里是为了更好地理解基本表 “文章”:
文章(ID,姓名,文本)
对于我来说,这是你的两种不同的方法:
方法1
将数据和文章的每个版本存储在表格“文章”中,并添加“版本”和“状态”列。在版本中,我存储文章的增加版本号。主动文章获得了“状态” 1和其他人的“身份” 2.
Pro的:
只需要一个表
新版本的插件新的数据,只有老的“状态” -column的更新
反对的
- 非常大的表(也许慢查询???)
方法2
,添加字段“版本”,以“公司章程”,并仅在活动数据存储到表“文章”。旧版本的数据存储/移动到新表“articles_versioned”。
Pro的:
- 只有实际有效数据表中的 “文章”
反对的表
- Dublication
所以。我忘记了一个好的方法吗?如何处理其他表格中的相关数据(如图像等)?
这通常称为“更改数据捕获”(CDC)。谷歌为它:http://www.google.com/search?aq = f&gcx = w&sourceid = chrome&ie = UTF-8&q = mysql + change + data + capture&safe = active – duffymo
你甚至不需要更新以前的状态,只需选择该特定文章的最高ID – Anigel
状态是如果我想回到以前的版本 – bernhardh