我使用sqlacodegen为SQLAlchemy自动生成模型代码。
我的问题是我有一些几何类型的列,据我所知,根据下面的链接,sqlacodegen不支持这种类型。
https://bitbucket.org/agronholm/sqlacodegen/issues/18/did-not-recognize-type-geometry-on
有谁知道如何解决这个问题? 也许使用方法Mapper或其他东西?
Thnks
答案 0 :(得分:1)
可能你已经想到了这一点,所以这就是后人。
根据您提供的相同链接(issue #18),这已经有一个PR来修复它(虽然没有测试,因此截至今天尚未接受)。
尽管如此,修复很容易。安装GeoAlchemy2(它将PostGIS支持带到SQLAlchemy)并将其导入sqlacodegen/codegen.py
from sqlalchemy.types import Boolean, String
import sqlalchemy
from geoalchemy2 import Geometry
否则,请忽略这些SAWarnings
并手动修复未正确识别的几何类型,即将NullType
替换为Geometry
。
the_geom = Column(NullType, index=True)
# becomes
the_geom = Column(Geometry(...), index=True)