【问题标题】:Using Alembic Migrations with multiple projects在多个项目中使用 Alembic 迁移
【发布时间】:2017-05-12 23:44:20
【问题描述】:

我有两个使用 Flask-Migrate 和 Alembic 的 Flask 应用程序。

共有三个表,其中一个表在两个 Flask 应用程序之间共享,由shared_models.py 表示

尽管shared_models.py 文件相同,但共享表被其中一个项目 alembic_version 标记,然后另一个项目抱怨它,我遇到了困难。

处理这种环境的好策略是什么?

【问题讨论】:

    标签: flask sqlalchemy flask-sqlalchemy alembic flask-migrate


    【解决方案1】:

    一种选择是为您的两个应用程序使用两个单独的数据库。您必须决定这两个应用程序中的哪一个拥有共享的表。每个应用程序在自己的数据库上跟踪迁移,不拥有共享表的应用程序通过 Flask-SQLAlchemy 的绑定功能从其他应用程序的数据库中访问此表。

    这不是唯一的选择。另一个想到的是继续使用单个数据库,但在两个应用程序之一上配置 Alembic 以忽略此共享表。这必须在env.py 文件上手动完成,Flask-Migrate 不直接支持生成忽略表的代码。

    【讨论】:

      猜你喜欢
      • 2018-06-11
      • 2016-09-06
      • 2013-07-04
      • 2015-08-25
      • 2017-07-12
      • 2012-06-26
      • 2014-05-18
      • 2013-07-06
      相关资源
      最近更新 更多