【发布时间】:2016-11-11 11:12:27
【问题描述】:
我目前正在开发基于 Django 1.8 和 Postgres 的应用程序。这个应用程序安装在几个环境中,其中一些环境中有数据库中的旧表,我需要从中删除记录。
我使用以下 SQL 查询编写了迁移:
IF EXISTS (
SELECT relname FROM pg_class WHERE relname=tablename
) THEN
DELETE FROM tablename END IF;
但是 Django 在这个查询中抛出错误:
django.db.utils.ProgrammingError: syntax error at or near "IF"
我可以在迁移中以某种方式检查该表是否存在,然后才执行查询,例如DROP FROM tablename ?
【问题讨论】:
标签: python django postgresql