Alembic-创建顺序迁移

我的Git流由developmasterfeature分支组成。我使用Alembic进行数据库迁移,并且仅在将分支合并到master后才运行迁移。

当前,将包含迁移的分支合并到develop中会带来麻烦。这是有问题的过程:

  1. develop(分支1)开始的新分支
  2. 在分支1中创建迁移
  3. 将分支1合并到develop
  4. 由于迁移不在master中,因此未在运行迁移
  5. develop的另一个新分支,用于其他功能(分支2)
  6. 现在,无法在BRANCH 2中创建迁移-我得到Target database is not up to date,因为head版本是#1中创建的新版本,但是数据库尚未升级。

运行alembic history给出:

c4892151a825 -> 3451e691af8a (head),BRANCH 1
c4a0d473218e -> c4892151a825,MASTER MIGRATIONS

我想要实现的是使两个迁移顺序运行:

c4892151a825 -> 3451e691a4jf BRANCH 2
c4892151a825 -> 3451e691af8a BRANCH 1
... -> c4892151a825,(head),MASTER MIGRATIONS

我尝试运行alembic revision --head c4892151a825,但是它说该修订版不是head修订版。

abcd8031 回答:Alembic-创建顺序迁移

我找到了一个临时解决方案:

  1. 将BRANCH 1迁移文件移动到其他位置
  2. 创建新修订。
  3. 将迁移文件返回到先前的位置,并使用alembic merge合并两者。
本文链接:https://www.f2er.com/2834225.html

大家都在问