Flask-migrate:如何管理其他已安装模块的数据库

我正在为现有项目设置flask-migrate。我的项目还使用Taskflow(https://github.com/openstack/taskflow)模块。

Taskflow设置自己的表。在我一直指向任务流使用与应用程序相同的数据库的同时,所有这些都创建了自己的3个表。现在启用了迁移,我会收到此错误

找不到由'397d0bf4d081'标识的修订版本

[当我升级任务流后端连接时会发生这种情况-如果有什么意义的话

我不清楚应如何设置迁移来管理项目中安装的软件包/模块的表。

在写这个问题时,我想到了将模块指向它自己的数据库的想法。

我尝试过了,而且行得通。问题归结为什么是正确的方法-是否应该通过将已安装模块的DB要求指向单独的db来管理它(看起来像是正确的做法)。

woaixu13142 回答:Flask-migrate:如何管理其他已安装模块的数据库

问题在于Taskflow使用Alembic来跟踪其自身的数据库迁移,因此您的Alembic历史记录(通过Flask-Migrate)与Taskflow的历史记录冲突。

您有两个选择:

  • 最简单的方法就是像您一样使用单独的数据库。
  • 如果要使用相同的数据库,则必须做两件事:首先,在项目中使用Alembic的include_object选项将迁移配置为忽略Taskflow维护的表,其次,将Alembic版本表名称配置为与alembic_version默认值(我假设Taskflow使用的默认值)不同。
本文链接:https://www.f2er.com/2439471.html

大家都在问