Tag: 数据库版本控制

Rails中的对象版本控制,如Papertrail,但个别表

对于我目前正在进行的项目,我需要实现对象版本控制。 不幸的是,我需要保留每个对象的完整历史记录,因此像Papertrail这样的单个表解决方案很快就会变得无法管理。 然而,我喜欢Papertrail的function,我在一个解决方案中找不到每个模型的单独表格(例如acts_as_versioned)。 能够存储来自控制器和模型的元信息 数据已序列化,因此架构更改不会修改版本表 遍历版本的强大方法 自动跟踪变更责任 还有Papertrail没有的一些function可以奖励: 内置版本差异支持 差异而不是完整版本 我目前正在考虑让Papertrail为每个模型使用单独的表,但是如果有现有的解决方案,我想节省这些工作。 更新: Vestal版本默认使用单个表,但通过为每个模型提供自定义版本类并使用ActiveRecord的“set_table_name”方法,我能够为每个模型创建单独的表。 Vestal版本也内置差异支持,但其界面不如Papertrails强大。 它也缺乏关联支持。 更新2:由于papertrail似乎是一个更活跃的项目,我已经分叉了gem并添加了类似于vestal版本的自定义类支持,现在允许为每个模型定义单独的表。 我的叉子在这里,但我希望它很快就会被拉进主项目库。 https://github.com/benzittlau/paper_trail