0

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

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

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

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

4

1 回答 1

2

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

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

于 2016-12-29T07:06:10.737 回答