嗯,我已經看到了一些插件來創建一個版本表來跟蹤特定的模型修改,但不能做很容易像Quora的顯示修訂版本如何控制quora?數據庫設計
我至今是一個表這樣的:
- ID
- ITEM_TYPE:especifies什麼型號的版本是指: 「主題」
- ITEM_ID
- 事件:如果它是: 「編輯,添加,還原,刪除」
- 誰:誰觸發事件
- 列:在 「主題」 什麼列價值已經改變。 「主題PHOTO_URL。」
- 新:新的價值: 「http://s3.amazonaws.../pic.png」
- 老舊值: 「」 http://s3.amazonaws.../oldpic.png「
- revision_rel:指向過去的修訂
- 時間戳
有人可以給我一些幫助和指導這個設計?林擔心表現,錯列,缺失列等
id | item_type | item_id | event | who | column | new | old | revision_rel | date
________________________________________________________________________________________________________
1 | Topic | 2 | edit | Luccas | photo | pic.png | oldpic.png | null | m:d:y
2 | Topic | 2 | revert | Chris | photo | oldpic.png | pic.png | 1 | m:d:y
你可能不需要這個了......但如果記錄所有事件(創建,編輯,銷燬),則可能不需要存儲舊值和新值。版本2的舊值是版本1的新值。 取決於您的用例。 –