Sqlalchemy 具有几何体类型的sqlacodegen问题

Sqlalchemy 具有几何体类型的sqlacodegen问题,sqlalchemy,geometry,Sqlalchemy,Geometry,我使用sqlacodegen自动生成SQLAlchemy的模型代码 我的问题是,我有一些类型为geometry的列,据我所知,根据下面的链接,sqlacodegen不支持这种类型 有人知道我该如何解决这个问题吗? 也许是用方法映射器什么的 也许你已经弄明白了这一点,所以这将留给子孙后代 根据您提供的相同链接(),这已经有了一个解决方案(虽然没有测试,所以今天还没有被接受) 更新:从2.1.0版开始,此PR已合并。因此,下面的解决方案——来自原始答案——应该不再需要了。请注意,此PR明确说明了对

我使用sqlacodegen自动生成SQLAlchemy的模型代码

我的问题是,我有一些类型为geometry的列,据我所知,根据下面的链接,sqlacodegen不支持这种类型

有人知道我该如何解决这个问题吗? 也许是用方法映射器什么的


也许你已经弄明白了这一点,所以这将留给子孙后代

根据您提供的相同链接(),这已经有了一个解决方案(虽然没有测试,所以今天还没有被接受)

更新:从2.1.0版开始,此PR已合并。因此,下面的解决方案——来自原始答案——应该不再需要了。请注意,此PR明确说明了对PostGIS的支持,而不是MySQL


然而,解决办法很容易。安装(它为SQLAlchemy带来了PostGIS支持)并将其导入
sqlacodegen/codegen.py

from sqlalchemy.types import Boolean, String
import sqlalchemy
from geoalchemy2 import Geometry
否则,忽略那些
警告
,并手动修复未正确识别的几何图形类型,即用
几何图形
替换
空类型

the_geom = Column(NullType, index=True)
# becomes
the_geom = Column(Geometry(...), index=True)