admin管理员组

文章数量:1530055

psycopg2.ProgrammingError: column cons.consrc does not exist

LINE 4:                 cons.consrc as src
                        ^
HINT:  Perhaps you meant to reference the column "cons.conkey" or the column "cons.conbin".


The above exception was the direct cause of the following exception:

sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) column cons.consrc does not exist

LINE 4:                  cons.consrc as src

                             ^

HINT:  Perhaps you meant to reference the column "cons.conkey" or the column "cons.conbin".

[SQL: "\n            SELECT\n                cons.conname as name,\n                cons.consrc as src\n            
	FROM\n                pg_catalog.pg_constraint cons\n            WHERE\n                
	cons.conrelid = %(table_oid)s AND\n                cons.contype = 'c'\n        "] 

[parameters: {'table_oid': 17684}] (Background on this error at: http://sqlalche.me/e/f405)

以上是异常信息

触发条件:

  1. PostgreSQL

  2. Flask

  3. 数据库迁移 (Alembic方式)

只要一开始 revision 生成迁移脚本文件,就会出现 以上的异常

看异常的 字面意思,再加上 百度出来的结果。几乎都是千篇一律,我的 字段名首字母 什么什么的 大写了,可是我并没有呀。

在经过绞尽脑汁,在同事的 不断测试中,得出了答案。

  1. 查看 PostgreSQL 版本
psql --version
psql (PostgreSQL) 9.6.17
  1. 查看 SQLalchemy 版本
pip list
SQLALchemy    1.2.0       

md 就是 SQLalchemy 版本太低了,更新他

pip install -U sqlalchemy

更新之后在迁移,就没毛病了。

本文标签: ProgrammingErrorSQLALCHEMYexcconsrcexist