[在单个数据库上使用flask-migrate创建具有不同架构的多个表

问题描述 投票:1回答:1

我正在使用flask-migrate处理表的创建和维护。我有多个具有不同架构的表。

 class A(db.model):
      __tablename__ = 'A'
      __table_args__ = {'schema': 'public'}
      # rest of data

 class B(db.model):
      __tablename__ = 'B'
      __table_args__ = {'schema': 'schema_b'}
      # rest of data    

所以当我运行flask db initflask db migrate时,会在迁移文件夹中创建一个迁移脚本。但是,当我运行flask db upgrade在数据库中添加表时,它向我显示错误

sqlalchemy.exc.ProgrammingError: (psycopg2.errors.InvalidSchemaName) schema "schema_b.B" does not exist

[当我搜索此问题时,我发现了include_schemasmigrate using different schema,在这两部分中都提到在include_schemas=True中的configure中使用migration/env.py。另外,答案中的解决方案中提到的链接具有无效的链接,因此对我而言,它在编程上变得很少。

我已经进行了相应的更改。然后我正在运行flask db migrate,它正在检测具有所有模式的所有表。但是当我运行flask db upgrate

sqlalchemy.exc.ProgrammingError: (psycopg2.errors.InvalidSchemaName) schema "schema_b.B" does not exist

再次出现错误。

[帮助我,如何使用flask migrate解决此问题。要创建表,我有一个运行良好的SQL命令。

python postgresql flask sqlalchemy flask-migrate
1个回答
0
投票

您能否发布您的迁移脚本,以便我可以看到它要做什么。

© www.soinside.com 2019 - 2024. All rights reserved.