几何类型的sqlacodegen问题

时间:2016-01-04 15:12:23

标签: sqlalchemy geometry

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

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

https://bitbucket.org/agronholm/sqlacodegen/issues/18/did-not-recognize-type-geometry-on

有谁知道如何解决这个问题? 也许使用方法Mapper或其他东西?

Thnks

1 个答案:

答案 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)