Alembic - 创建顺序迁移
Alembic - Create sequential migrations
我的 Git 流程由 develop
、master
和 feature
分支组成。我使用 Alembic 进行数据库迁移,并且我 运行 迁移 只有在 将分支合并到 master 之后。
目前,将包含迁移的分支合并到 develop
会导致麻烦。这是有问题的过程:
develop
的新分支(分支 1)
- 在 BRANCH 1 中创建迁移
- 将 BRANCH 1 合并到
develop
- 没有迁移 运行 因为它们不在
master
中
develop
的另一个新分支,用于不同的功能(BRANCH 2)
- 现在,不可能在 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
修订版。
我找到了一个临时解决方案:
- 将 BRANCH 1 迁移文件移动到其他位置
- 创建新修订。
- Return 迁移文件到之前的位置并使用
alembic merge
. 合并两者
我的 Git 流程由 develop
、master
和 feature
分支组成。我使用 Alembic 进行数据库迁移,并且我 运行 迁移 只有在 将分支合并到 master 之后。
目前,将包含迁移的分支合并到 develop
会导致麻烦。这是有问题的过程:
develop
的新分支(分支 1)- 在 BRANCH 1 中创建迁移
- 将 BRANCH 1 合并到
develop
- 没有迁移 运行 因为它们不在
master
中
develop
的另一个新分支,用于不同的功能(BRANCH 2)- 现在,不可能在 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
修订版。
我找到了一个临时解决方案:
- 将 BRANCH 1 迁移文件移动到其他位置
- 创建新修订。
- Return 迁移文件到之前的位置并使用
alembic merge
. 合并两者