如何修改控制对quora有效?数据库设计

时间:2012-06-25 05:02:49

标签: ruby-on-rails database-design version-control relational-database

好吧,我已经看到一些插件来创建一个版本表来跟踪特定模型的修改,但是不能轻易地像quora show

Changing a topic photo on quora

到目前为止我的表格是这样的:

  • ID
  • item_type :指定型号修订版所指的内容:“主题”
  • ITEM_ID
  • 活动:如果是:“已修改,已添加,已撤消,已删除”
  • :谁触发了此次活动
  • :“主题”中的哪一列值已更改。 “主题。 PHOTO_URL
  • :新值:“http://s3.amazonaws.../pic.png
  • 旧值:“”http://s3.amazonaws.../oldpic.png
  • revision_rel :指向过去的修订
  • 时间戳

enter image description here

有人可以给我一些这方面的帮助和指导吗?我担心性能,错误的列,缺少列等

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

1 个答案:

答案 0 :(得分:1)

有些宝石已经可以满足您的需求。你有没有看过:

看看现有的宝石: https://www.ruby-toolbox.com/categories/Active_Record_Versioning

我正在使用audited(以前的acts_as_audited)进行非常相似的事情: https://github.com/collectiveidea/audited