【发布时间】:2019-03-03 08:24:00
【问题描述】:
如何告诉 SQLAlchemy 我想使用哪种方言?
上下文:
我想将我的类的一个属性存储为 JSON 对象,并使用 SQLAlchemy 对其运行查询。这是属性:
winning_team_ids = Column(mysql.JSON, nullable=False)
我在测试设置时收到以下错误:
AttributeError: 'SQLiteTypeCompiler' object has no attribute 'visit_JSON'
这似乎是因为 /sqlalchemy/dialects/sqlite/base 没有 visit_JSON 方法。但是,/sqlalchemy/dialects/mysql/base 确实有一个 visit_JSON 方法。所以我想用mysql的方言。
【问题讨论】:
-
您是否尝试将 mysql 方言与 sqlite db 一起使用?
-
@benvc 我不确定 - 我知道我们使用 sqlite 进行单元测试,使用 mysql 从 devstacks 到生产。
-
错误表明 sqlite 在你的 json 列上阻塞(它不支持 - 可能有扩展或其他东西,但我不确定)。
标签: python mysql json sqlite sqlalchemy