2

我正在尝试将 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 之后,但无济于事。还尝试手动在数据库中创建历史表。

任何帮助表示赞赏。

4

0 回答 0