假设我在DB中创建了一些用户定义的类型,
即 CREATE TYPE abc ...
那么可以确定用户定义的类型是否存在?也许,使用任何postgres信息表?
主要原因是因为PostgreSQL似乎不支持CREATE OR REPLACE TYPE ...,并且如果某个类型被多次创建,我希望能够先删除现有的类型,然后重新加载新的类型.
我正在使用带有postgresql数据库的SQLAlchemy核心,我想将ENUM类型添加到我的表定义中.根据postgresql文档,必须在创建表之前定义ENUM类型:
CREATE TYPE gender_enum AS ENUM ('female', 'male');
CREATE TABLE person (
name VARCHAR(20),
gender gender_enum
);
Run Code Online (Sandbox Code Playgroud)
问题是当我创建表定义时.阅读SQLAlchemy文档后,我找不到任何实现示例.我尝试过类似的东西,但它不起作用:
from sqlalchemy.dialects.postgresql import ENUM
person = Table('user_profile', metadata,
Column('name', String(20)),
Column('gender', ENUM('female','male'))
);
Run Code Online (Sandbox Code Playgroud)
怎么做?