在 NHibernate 中,可以使用同一个表处理版本,只需在该表中添加版本号列,请参见此处。出于严重的性能原因,我希望该逻辑包含在同一个表中而不是集合表中。Rails 有类似的东西吗,还是我需要自己动手?
我查看了所有可用的选项,例如 audited、vestal_versions、paper_trail,必须说我对所有这些选项都感到失望。它们不仅使用正确的方法很麻烦,而且还存在性能瓶颈。要恢复 paper_trail 中的版本,我必须对数据库进行 3 次查询以获取要恢复的数据,然后再进行另一个查询以进行更新。