11

HSTORE如果它使用 PostgreSQL 作为其后端,我想为列使用类型,PickleType否则。问题是我们无法确定在定义模式时将使用哪个后端(在 Python 中)。当实际在后端数据库上创建表时,如何确定这一点并有条件地选择数据类型?

4

1 回答 1

15

您可以使用以下方法完成类似的操作TypeEngine.with_variant

from sqlalchemy.types import PickleType
from sqlalchemy.dialects import postgresql

HybridType = PickleType()

HybridType = HybridType.with_variant(postgresql.HSTORE(), 'postgresql')

这将创建一个新类型 ,HybridType您可以像使用任何其他类型一样使用它,但需要注意的是它将在 Postgres 和其他任何地方生成一个HSTORE列。PickleType

于 2013-03-02T01:34:20.667 回答