我试图实现版本控制我的SQLAlchemy的数据库SQLAlchemy的版本(使用这里的例子:http://docs.sqlalchemy.org/en/rel_0_7/orm/examples.html#versioned-objects,并从源码包的history_meta.py)如何使用的关系
使用的例子,我能够成功获取对象的旧版本:
history = Person.__history_mapper__.class_
old_person = history.filter(Person.id = instance.id,
history.version==someoldversion).one()
我还可以获取指向它的任何对象的旧版本。
它在sqlalchemy版本控制代码中实现的方式是添加一个名为person_history的额外表。该表包含Person在特定版本+版本字段中的所有字段。
但是,我需要的是对关系进行版本控制。例如,也许这个人曾经有一辆车,但现在不再了,我需要得到他所拥有的版本。任何人都可以提出最好的方法来扩展这个例子,使之成为可能吗?
现在我试图用python VDM来解决这个问题,但是如果我仍然使用history_meta,我认为你的解决方案会是最好的。 – 2012-08-02 07:51:54