Flask python manage.py db upgrade raise错误

时间:2016-10-12 11:18:12

标签: python postgresql flask flask-sqlalchemy

我正在研究一个烧瓶项目,其中包含许多模型,其中一些模型使用from sqlalchemy.dialects.postgresql import JSONB。从管理层,我按照link创建了manage.py. python manage.py init & python manage.py migrate 工作正常,但是当我运行python manage.py upgrade时,迁移文件中会出现以下错误。

    sa.Column('images', postgresql.JSONB(astext_type=Text()), nullable=True),
    NameError: global name 'Text' is not defined

有谁知道如何修复它?

2 个答案:

答案 0 :(得分:6)

您需要导入Text

我搜索它时来自sqlalchemy.types,因此您需要在文件顶部导入

from sqlalchemy.types import Text

但您甚至不需要提供astext_type作为参数,因为它默认为Text()。来自sqlalchemy.dialects.postgresql.JSON的{​​{3}}:

  

<强> astext_type

     

用于索引属性的JSON.Comparator.astext访问器的类型。默认为types.Text

sqlalchemy.dialects.postgresql.JSONB

  

基地:sqlalchemy.dialects.postgresql.json.JSON

答案 1 :(得分:0)

If you are using Alembic, this is fixed in 0.9.0