我有一个博士后的数字。它是通过sql炼金术定义的,如下所示:
sa.Column('state', postgresql.ENUM(u'ACTIVE', u'STOPPED', u'FAILED', name='ProcessState'), nullable=True),
我无法移除它,但它似乎也不存在:
^{pr2}$我不知所措。它似乎同时存在和不存在,我无法删除或重新添加它。使用SQL Alchemy重新添加会导致错误:
File "python2.7/site-packages/sqlalchemy/engine/default.py", line 462, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) type "ProcessState" already exists
[SQL: 'CREATE TYPE "ProcessState" AS ENUM (\'ACTIVE\', \'STOPPED\', \'FAILED\')']
你知道怎么回事吗?有什么办法解决这个问题吗?我希望能够可靠地添加和删除此类型(而不必删除整个数据库)。
看起来SQLAlchemy用引号将此类型写入数据库(请参阅错误消息中的SQL)。在
尝试:
相关问题 更多 >
编程相关推荐