geoalchemy2 的 Flask Alembic 迁移错误 - 无效 geometry_type
Flask Alembic migration error with geoalchemy2 - invalid geometry_type
我正在尝试实施 Flask-Migrate 来帮助管理迁移,但在尝试制作迁移脚本时出现错误:"geoalchemy2.exc.ArgumentError: invalid geometry_type 'POINTZ' for dimension 2"。
我有一个 Flask 项目,正在使用 geoalchemy2 与 PostGIS 数据库进行交互。数据库中有一些表具有 PolygonZ 和 PointZ 几何图形(维度 = 3)。通过命令行使用 Flask-Migrate 进行的初始迁移工作正常并生成了迁移脚本(然后对其进行了调整以开始工作)。
3D几何模型定义如下:
from MyProject import db
from geoalchemy2 import Geometry
class Source(db.Model):
__tablename__ = 'source'
id = db.Column(db.Integer, primary_key=True)
project_id = db.Column(db.Integer(), db.ForeignKey('project.id'))
project = db.relationship('Project', foreign_keys=[project_id])
category = db.Column(db.String(300))
geometry = db.Column(Geometry(geometry_type='POINTZ', srid=4326, dimension=3))
class Building(db.Model):
__tablename__ = 'building'
id = db.Column(db.Integer, primary_key=True)
project_id = db.Column(db.Integer(), db.ForeignKey('project.id'))
project = db.relationship('Project', foreign_keys=[project_id])
geometry = db.Column(Geometry(geometry_type='POLYGONZ', srid=4326, dimension=3))
迁移是使用 Flask Migrate 命令在命令行上完成的。
flask db migrate
在没有制作脚本的情况下失败并产生此 geoalchemy2 错误
geoalchemy2.exc.ArgumentError: invalid geometry_type 'POINTZ' for dimension 2
我也尝试过 Flask-Alembic,但它在最后给了我同样的 geoalchemy2 错误,所以我认为这与 Alembic 如何查看几何列有关。只是不确定是什么。
如有任何建议,我们将不胜感激。谢谢
发现问题,我使用的是 GeoAlchemy2 版本 0.6.2,this issue 确定了 GeoAlchemy2 中存在的问题。
更新到 GeoAlchemy2 版本 0.6.3 后,我重新运行 Flask Migrate,它创建了迁移脚本而没有崩溃。
我正在尝试实施 Flask-Migrate 来帮助管理迁移,但在尝试制作迁移脚本时出现错误:"geoalchemy2.exc.ArgumentError: invalid geometry_type 'POINTZ' for dimension 2"。
我有一个 Flask 项目,正在使用 geoalchemy2 与 PostGIS 数据库进行交互。数据库中有一些表具有 PolygonZ 和 PointZ 几何图形(维度 = 3)。通过命令行使用 Flask-Migrate 进行的初始迁移工作正常并生成了迁移脚本(然后对其进行了调整以开始工作)。
3D几何模型定义如下:
from MyProject import db
from geoalchemy2 import Geometry
class Source(db.Model):
__tablename__ = 'source'
id = db.Column(db.Integer, primary_key=True)
project_id = db.Column(db.Integer(), db.ForeignKey('project.id'))
project = db.relationship('Project', foreign_keys=[project_id])
category = db.Column(db.String(300))
geometry = db.Column(Geometry(geometry_type='POINTZ', srid=4326, dimension=3))
class Building(db.Model):
__tablename__ = 'building'
id = db.Column(db.Integer, primary_key=True)
project_id = db.Column(db.Integer(), db.ForeignKey('project.id'))
project = db.relationship('Project', foreign_keys=[project_id])
geometry = db.Column(Geometry(geometry_type='POLYGONZ', srid=4326, dimension=3))
迁移是使用 Flask Migrate 命令在命令行上完成的。
flask db migrate
在没有制作脚本的情况下失败并产生此 geoalchemy2 错误
geoalchemy2.exc.ArgumentError: invalid geometry_type 'POINTZ' for dimension 2
我也尝试过 Flask-Alembic,但它在最后给了我同样的 geoalchemy2 错误,所以我认为这与 Alembic 如何查看几何列有关。只是不确定是什么。
如有任何建议,我们将不胜感激。谢谢
发现问题,我使用的是 GeoAlchemy2 版本 0.6.2,this issue 确定了 GeoAlchemy2 中存在的问题。
更新到 GeoAlchemy2 版本 0.6.3 后,我重新运行 Flask Migrate,它创建了迁移脚本而没有崩溃。