Python 在sqlalchemy中删除具有枚举类型的列的表
我在postgres数据库的sqlalchemy中有一个表。它有一个列依赖于Python 在sqlalchemy中删除具有枚举类型的列的表,python,postgresql,sqlalchemy,Python,Postgresql,Sqlalchemy,我在postgres数据库的sqlalchemy中有一个表。它有一个列依赖于sqlalchemy.dialogs.postgresql.ENUM。当我试图删除该表时,我得到一个错误。 详细信息:表myTable的列my_取决于类型my_枚举提示:使用DROP。。。级联以删除从属对象。 为什么会出现此错误以及如何修复此错误 从sqlalchemy导入创建引擎、表、列、元数据 来自sqlalchemy.dialogs.postgresql导入枚举 mt=元数据() engine=create_eng
sqlalchemy.dialogs.postgresql.ENUM
。当我试图删除该表时,我得到一个错误。
详细信息:表myTable的列my_取决于类型my_枚举提示:使用DROP。。。级联以删除从属对象。
为什么会出现此错误以及如何修复此错误
从sqlalchemy导入创建引擎、表、列、元数据
来自sqlalchemy.dialogs.postgresql导入枚举
mt=元数据()
engine=create_engine('postgresql+psycopg2://localhost:5555/postgres')
mt.bind=发动机
_type=ENUM('a','b',name='my_ENUM')
t=表格('myTable',mt,Column('my_Column',_type))
t、 创建()
t、 下降()
枚举类型将与表一起删除。为了防止这种情况发生,它必须与元数据对象相关联,而不是与元数据对象相关联。所以,改变路线
\u type=ENUM('a','b',name='my\u ENUM',metadata=mt)
解决了这个问题。
有关更多详细信息,请参阅我正在使用1.4.5版