小编Jam*_*gro的帖子

如何对 geoalchemy2 类型使用 SQLAlchemy @compiles 装饰器

我正在尝试使用最初为 Postgres 数据库设计的 SQLAlchemy ORM 创建内存中 SQLite 数据库。为了允许 SQLite 引擎转换 postgres 特定的数据类型,我依赖于 SQLAlchemy@compiles装饰器,它按照sqlalchemy.dialects.postgresql命名空间中的类型的预期工作。

如何将geoalchemy2.Raster数据类型转换为与引擎无关的数据类型(它可能是sqlalchemy.BLOB我所关心的类型。重要的是我可以创建相似的表,它们不需要精确)?

此示例代码DOUBLE_PRECISION按预期转换类型,但我不知道如何geoalchemy2.Raster修改UserDefinedType. 我希望能够编写一个类似的方法来compile_DOUBLE_PRECISION()更改Raster类型BLOB

import sqlalchemy
from sqlalchemy import Column, Integer
from sqlalchemy.dialects.postgresql import DOUBLE_PRECISION
from sqlalchemy.ext.compiler import compiles
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.dialects.sqlite.base import SQLiteTypeCompiler
from geoalchemy2 import Raster

Base = declarative_base()

class SomeModel(Base):
    __tablename__ = "some_model"
    id = Column(Integer, primary_key=True)
    double_precision = Column(DOUBLE_PRECISION)
    raster = …
Run Code Online (Sandbox Code Playgroud)

python postgresql sqlalchemy geoalchemy2

5
推荐指数
1
解决办法
827
查看次数

标签 统计

geoalchemy2 ×1

postgresql ×1

python ×1

sqlalchemy ×1