Alembic - 创建顺序迁移

Alembic - Create sequential migrations

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

目前,将包含迁移的分支合并到 develop 会导致麻烦。这是有问题的过程:

  1. develop 的新分支(分支 1)
  2. 在 BRANCH 1 中创建迁移
  3. 将 BRANCH 1 合并到 develop
  4. 没有迁移 运行 因为它们不在 master
  5. develop 的另一个新分支,用于不同的功能(BRANCH 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

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

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

  1. 将 BRANCH 1 迁移文件移动到其他位置
  2. 创建新修订。
  3. Return 迁移文件到之前的位置并使用 alembic merge.
  4. 合并两者