我正在尋找一些關於在事件發生時保存某些(不同)記錄的快照的一些想法,例如用戶從我的應用程序中獲取文檔,以便此文檔可以稍後再生。你建議採取什麼策略?我是否應該使用與當前值相同的表格或使用歷史表格?你知道任何可以幫助我完成任務的插件嗎?請分享您的想法和解決方案。用於在Rails中存儲/檢索歷史數據的技巧
1
A
回答
2
我曾經這樣做過一次。我們創建了一個新的表有一個非常相似的結構,我們要記錄表,每當我們需要記錄的東西,我們做了一些與此類似:
attr = object_to_log.attributes
# Remove things like created_at, updated_at, other unneeded columns
log = MyLogger.new(attrs)
log.save
有一個非常好的機會,也有插件/寶石儘管做這樣的事情。
2
我已經使用acts_as_versioned
這樣的東西。
3
有幾個插件。
Acts_audited
作爲審計爲所有可審計對象創建單個表,並且不需要更改現有表。每次更改都會記錄更改,並將更改存儲爲備註字段中的散列,即更改類型(CRUD)。使用應用程序控制器中的單個語句來指定要審覈的模型非常簡單。 回滾取決於你,但信息在那裏。因爲存儲的信息只是構建整個對象的更改可能會因後續更改而變得困難。
Acts_as_versioned
有點複雜到設置 - 你需要一個單獨的表的每個對象要版本,你有一個版本ID添加到您現有的表。回滾是一件非常簡單的事情。 github上的叉子提供了自上次版本以來的更改,所以您可以輕鬆突出顯示差異(這是我使用的)。我的猜測是這是最受歡迎的解決方案。
我沒有經驗:acts_as_revisable。下一次我需要版本控制,因爲看起來更復雜,我可能會給這個版本。
0
該OP已經有一年了,但我認爲我會在該組合中添加vestal_versions。它使用單個表來跟蹤每個版本的序列化哈希。通過遍歷更改記錄,模型可以恢復到任何時間點。
似乎是社區最喜歡的這篇文章...
相關問題
- 1. 用於存儲歷史數據
- 2. 檢索歷史數據
- 3. 將歷史存儲在數據庫中
- 4. 用Fiware檢索歷史數據Orion/Cygnus
- 5. iPhone中的歷史保存和檢索
- 6. 檢索技巧推薦
- 7. 用於可視化數據的技巧
- 8. 用於存儲歷史價格的MySQL JSON數據類型
- 9. 的Rails 3 - 存儲歷史訪問數據
- 10. 如何存儲歷史數據
- 11. 數據倉庫 - 在事實表中存儲歷史數據
- 12. 如何存儲搜索歷史
- 13. 在通知表中存儲數據更改的歷史記錄
- 14. 保存和檢索歷史iphone
- 15. 使用JDO從數據存儲中存儲和檢索數據
- 16. 如何在Rails中保存歷史數據?
- 17. Rails 3用戶活動歷史數據
- 18. Sphinx搜索技巧
- 19. 保存歷史數據
- 20. 保存數據庫歷史
- 21. 在URL中存儲數據庫密鑰的一些技巧是什麼
- 22. SSAS通過使用'predictTimeSeries'的DMX查詢檢索歷史數據
- 23. 關於在Cookie中存儲歷史記錄的建議
- 24. 休眠 - 存儲歷史
- 25. 檢索歷史的使用SQL
- 26. 存儲和檢索數據
- 27. 檢索數據存儲
- 28. 數據抽取技巧
- 29. 數據老化技巧
- 30. 用於存儲X天變量歷史記錄的數據結構
您的鏈接無法正常工作。它提示我去這個鏈接,而不是:http://github.com/technoweenie/acts_as_versioned/tree/master – MattC 2009-04-16 14:35:02