Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在sqlalchemy中删除具有枚举类型的列的表_Python_Postgresql_Sqlalchemy - Fatal编程技术网

Python 在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

我在postgres数据库的sqlalchemy中有一个表。它有一个列依赖于
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版