postgresql - 如果存在约束,我想删除它。这可能与alembic吗?
问题描述
如果我尝试删除一个不存在的约束:在修订文件中
op.drop_constraint('exists_in_some_db_fkey', 'table', type='foreignkey')
我有:
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedObject)
constraint "exists_in_some_db_fkey" of relation "table" does not exist
[SQL: 'ALTER TABLE extensions DROP CONSTRAINT exists_in_some_db_fkey']
(Background on this error at: http://sqlalche.me/e/f405)
这是我们的错,我们有一些损坏的数据库,但如果我们可以放弃约束检查 IF EXISTS,它可以解决我们的问题。
我们最近不能改变我们的模型。
解决方案
使用 Alembic,您始终可以选择手动执行 SQL 语句,如下所示:
op.execute("ALTER TABLE new DROP CONSTRAINT IF EXISTS parent_id_f")
推荐阅读
- rabbitmq - 消费者的许多队列上的 FIFO 序列
- html - CSS网格速记 - 网格区域属性不起作用
- azure-blob-storage - Azure Blob 存储是否有审核跟踪
- latex - IEEE 提交问题
- javascript - JavaScript 控制台中的静态变量
- android - 操作类型未在本地主机上运行的二进制文件中注册“TFLite_Detection_PostProcess”
- sql-server-2008 - 条件数据类型转换 | SQL 服务器
- xcode - 由于 Firebase 升级后缺少框架 GoogleToolboxForMac 而导致崩溃
- r - 如何存储循环表数据
- c# - CSVHelper 7.1.1 - 未找到与索引 0 处的 ['sp_ac_input_voltage_unit'] 名称匹配的标头