我使用sqlacodegen来自动生成SQLAlchemy的模型代码。
我的问题是,我有一些类型为几何学的列,据我所知,根据下面的链接,sqlacodegen不支持这种类型。
https://bitbucket.org/agronholm/sqlacodegen/issues/18/did-not-recognize-type-geometry-on
有人知道我该怎么克服这个阻碍吗?或者用Mapper之类的方法?
坦克斯
发布于 2016-04-18 16:17:50
也许你已经弄明白了,所以这是留给后人的。
根据您提供的相同的链接(第18期),它已经有一个按下来修复它(尽管没有测试,所以它到今天还没有被接受)。
更新:此PR已在2.1.0版本时合并。因此,下面的解决方案--从最初的答案--应该不再需要了。请注意,此PR明确地解决了对PostGIS的支持,而不是MySQL。
尽管如此,解决办法还是很容易的。安装GeoAlchemy2 (它为SQLAlchemy提供PostGIS支持)并将其导入sqlacodegen/codegen.py
from sqlalchemy.types import Boolean, String
import sqlalchemy
from geoalchemy2 import Geometry否则,忽略那些SAWarnings,手动修复未正确识别的几何类型,即用Geometry替换NullType。
the_geom = Column(NullType, index=True)
# becomes
the_geom = Column(Geometry(...), index=True)https://stackoverflow.com/questions/34594165
复制相似问题