我必須將文章等數據存儲到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