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