我正在尝试将 SqlAlchemy 与 Sqlalchemy-continuum 集成。我使用 Automap 功能而不是创建声明性类,我无法使用 automap 功能的连续统一体。文档中也没有关于相同的示例或引用。
有没有人使用过这个特性的 SqlAlchemy-continuum。
注意 - 我正在为 postrgesql 使用自定义模式,该模式不是 postrges 附带的默认模式。
还添加了一些代码供参考:
#Imports
from sqlalchemy.ext.automap import automap_base
from sqlalchemy_continuum import make_versioned
from sqlalchemy_continuum import version_class, parent_class
make_versioned(user_cls=None) #Currently trying to not make user relationship with transactions table.
#Created the engine and queried the schema metadata from there in _metdadata.
_metdadata.reflect(views=True)
Base = automap_base(metadata=_metdadata)
class Map1(Base):
__tablename__ = 'test_pg_audit'
__table_args__ = {'extend_existing': 'True'}
__versioned__ = {}
id = Column(Integer, primary_key=True)
Base.prepare()
rec = TestPGAudit(name='test')
dbsession.add(rec)
dbsession.flush()
dbsession.commit()
#The History Class is not found, and sqlalchemy_continuum.exc.ClassNotVersioned is raise here.
at = version_class(TestPGAudit)
recs = dbsession.query(at).all()
print recs
我也尝试在不同的地方配置映射器,包括在 Base.prepare 之后,但无济于事。还尝试手动在数据库中创建历史表。
任何帮助表示赞赏。