问题标签 [sqlalchemy-continuum]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - SQLAlchemy-Continuum 和 Pyramid:UnboundExecutionError
我有一个Pyramid应用程序,它通过pyramid_basemodel使用SQLAlchemy进行 CRUD 。一切似乎都很好。
然后我 pip 安装了SQLAlchemy-Continuum,为某些对象提供历史记录。我所做的配置就是对我的 models.py 文件进行以下更改:
(对于稍微多余的导入,我感到抱歉;我决定完全遵循 Continuum 示例import sqlalchemy as sa
,并切换到在我版本化的模型中使用该符号。我也可能在做愚蠢的,猴子看猴子做的事情,基于一个半-理解不同的教程。)
此设置允许我alembic revision --autogenerate
在数据库中运行和生成 ModelHistory 表,但是当我转到一些读取现在版本化模型的页面时,它们会给出错误
出于某种原因,它读取以相同方式添加的一个模型,但随后尝试更新它失败并出现相同的错误。
我的猜测是,我需要配置 Continuum 用于 SQLAlchemy 会话的任何内容,以指向 Pyramid 中配置的现有会话,但我不确定。我变热了吗?
python - `sqlalchemy.exc.InvalidRequestError:使用 SQLAlchemy-Continuum 扩展时,在连接表继承场景中隐式组合列(...)`
当我尝试使用 SQLAlchemy-Continuum 扩展从 Kotti 项目对表进行版本控制时,我遇到了sqlalchemy.exc.InvalidRequestError: Implicitly combining column(...)
错误。这些表使用连接表继承方法对继承进行建模。基于来自 Kotti 的原始代码,我创建了显示问题的最小测试用例(test.py
如下)。该错误可以在文件内容之后的回溯中看到,如下所示:
sqlalchemy.exc.InvalidRequestError:将列 contents_version.transaction_id 与属性“transaction_id”下的列 nodes_version.transaction_id 隐式组合。请为这些同名列显式配置一个或多个属性。
正如最后一个调试行所说
INFO:sqlalchemy.orm.mapper.Mapper:(DocumentVersion|documents_version) _configure_property(transaction_id, Column)
很明显,错误发生在模型transaction_id
属性的配置过程中DocumentVersion
。此模型由 SQLAlchemy-Continuum 扩展自动创建,以跟踪原始Document
模型中的更改。我猜想 SQLAlchemy-Continuum 扩展不能正确处理这种情况(连接表继承),但我不知道如何解决这个问题。我已经阅读了 SQLAlchemy 的常见问题解答条目,标题为“我收到关于“在属性 Y 下隐式组合列 X”的警告或错误</a>,但鉴于错误来自扩展,我仍然不知道在哪里可以解决这个问题.
我在 SQLAlchemy-Continuum 的跟踪器上和 SQLAlchemy 的邮件列表上提出了这个问题,但还没有回复。
SQLAlchemy-Continuum 1.2.0,SQLAlchemy 1.0.8
test.py
:
输出和回溯:
python - 使用 odo 函数时如何解决 utf-8 错误?OperationalError: (sqlite3.OperationalError) 无法解码为 UTF-8 列
我是新来的。我有一个用于迁移数据库的简单功能:
在 SQLite 数据库上运行它。
我收到以下错误。
我该如何解决这个问题?
OperationalError:(sqlite3.OperationalError)无法解码为 UTF-8 列“V_WIMS_WELLS$COMMENTS”,文本为“2013 年 12 月 29 日:与 SAP 问题相关,WO# 已关闭,但仍出现在 WIMS 中以供确认。
WPH-41 切割表面 CSG 9-5/8¿ 在 b
PS :- 我知道我们可以在 sqlalchemy 中显式设置 textfactory
我不知道如何在 odo 函数中修复它
#通过显式传递元数据来编写函数的第二次尝试会导致以下错误
错误:-
sqlalchemy-continuum - 如何使用用户列进行交易?
我得到了使用 sqlalchemy-continuum 的建议,这似乎非常符合我的要求。
默认情况下,ORM 假定存在用户列。我确实想保存编辑的发起者,但文档只说“这是您指定用户类的方式”,而没有说明在实际使用版本控制表时如何指定这样的对象。
如何指定负责交易的用户?是否有类似的方法可以为每个事务添加提交消息/原因/引用(VARCHAR)?
python - 将 sqlalchemy-continuum 与 flask-sqlalchemy 和 flask-migrate 一起使用
我正在尝试让 sqlalchemy-continuum 与 flask-sqlalchemy 和 flask-migrate 一起工作。我的__init__.py
文件如下所示:
我的 models.py 文件如下所示:
然后我运行以下 flask-migrate 命令来初始化和迁移数据库:
flask db upgrade 命令的输出似乎显示了正在创建的正确表:
在 python shell 中,我可以执行以下操作:
这似乎工作正常,但是当我尝试使用以下方式访问版本属性中的元素时:
我收到以下错误:
命令:
返回:
这似乎不是sqlalchemy-continuum 文档中指定的版本属性的预期行为。关于我做错了什么有什么想法吗?
python - 如何在 Flask-admin 中显示版本化数据(SQLAlchemy-Continuum)
我正在使用 SQLAlchemy-Continuum 对我的一个 sqlalchemy 对象的数据记录进行版本控制。
示例代码:
要查看 flask_admin-dashboard 中的表格,我使用以下代码:
但是如何将版本化历史表添加到烧瓶管理仪表板?当我直接连接到我的 mariaDB 时,我可以看到表和版本化数据记录。
非常感谢任何帮助。十分感谢!最好的问候西蒙
python - SqlAlchemy Continuum:未创建历史和事务表
我正在尝试将sqlalchemy-continuum版本控制集成到使用 flask-sqlalchemy 的现有应用程序中。
我有一个__versioned__ = {}
我想要版本化的模型,例如:
我正在尝试按如下方式初始化 sqlalchemy-continuum:
但是没有创建事务表和历史表。我可以看到 continuum 正在尝试创建记录,但没有表:
我初始化它的方式有问题。知道我做错了什么吗?
sqlalchemy - 在哪里使用多个 Python 模块调用 sqlalchemy configure_mappers
我有一个多类 sqlalchemy 实现的模型。它跨越多个 Python 模块,并包括跨越这些模块的关系。我想为我的模型添加版本控制,我决定使用 sqlalchemy-continuum。
在sqlalchemy-continuum 的文档中,它说“在你定义了所有模型之后,调用 configure_mappers:”。但他们使用单个 Python 模块作为示例。
问题:当使用多个 Python 模块来实现 sqlalchemy 模型时,应该在哪里调用 sqlalchemy 的实用函数 configure_mappers 以便在定义所有模型后才调用它?
python - SQLAlchemy-Continuum 如何在变更集中存在的多对多关系中进行更改
我正在尝试使用包跟踪多对多关系的变化SQLAlchemy-Continuum
。
不幸的是,变更db.String
集中只存在对简单字段的更改,例如。
如何对 中存在的关系字段进行更改changeset
?
文档中有一些关于多对多关系的片段,但文档缺少示例。https://sqlalchemy-continuum.readthedocs.io/en/latest/api.html#sqlalchemy_continuum.relationship_builder.RelationshipBuilder.build_association_version_tables
任何帮助和示例将不胜感激。
python - 带有 Automap Base 的 sqlalchemy-continuum
我正在尝试将 SqlAlchemy 与 Sqlalchemy-continuum 集成。我使用 Automap 功能而不是创建声明性类,我无法使用 automap 功能的连续统一体。文档中也没有关于相同的示例或引用。
有没有人使用过这个特性的 SqlAlchemy-continuum。
注意 - 我正在为 postrgesql 使用自定义模式,该模式不是 postrges 附带的默认模式。
还添加了一些代码供参考:
我也尝试在不同的地方配置映射器,包括在 Base.prepare 之后,但无济于事。还尝试手动在数据库中创建历史表。
任何帮助表示赞赏。