2016-12-28 52 views
0

我有两个使用Flask-Migrate和Alembic的Flask应用程序。在多个项目中使用Alembic迁移

有三个表,其中一个表是在两个瓶的应用程序之间共享,并通过shared_models.py

我遇到了共享表获取与项目alembic_version的一个加盖的难度表示,那么另一个项目就会抱怨,尽管shared_models.py文件是相同的。

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

回答

1

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

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