我的Git流由develop
,master
和feature
分支组成。我使用Alembic进行数据库迁移,并且仅在将分支合并到master后才运行迁移。
当前,将包含迁移的分支合并到develop
中会带来麻烦。这是有问题的过程:
- 从
develop
(分支1)开始的新分支 - 在分支1中创建迁移
- 将分支1合并到
develop
- 由于迁移不在
master
中,因此未在运行迁移 -
develop
的另一个新分支,用于其他功能(分支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
我尝试运行alembic revision --head c4892151a825
,但是它说该修订版不是head
修订版。