当两个 alembic 迁移从同一个迁移分支时,就会发生此问题。通常,当多人进行架构更改时会发生这种情况。要修复它,您只需down_revision
将迁移调整为最新迁移。运行alembic history
向我们展示了这一点:
2f4682466279 -> f34e92e9dc54 (head), Fifth revision (on a separate branch)
2f4682466279 -> f673ac37b34a (head), Fifth revision (local)
2dc9337c3987 -> 2f4682466279, Fourth revision
0fa2aed0866a -> 2dc9337c3987, Third revision
22af4a75cf06 -> 0fa2aed0866a, Second revision
9a8942e953eb -> 22af4a75cf06, First revision
您可以看到第五个修订版之一是在本地进行的,它的下游修订版是2f4682466279
,但是制作另一个第五个修订版的人也获得了相同的下游修订版。
进入第五修订文件之一并更新down_revision
变量以引用另一个第五修订,如下所示:
f673ac37b34a -> f34e92e9dc54 (head), Fifth revision (on a separate branch)
2f4682466279 -> f673ac37b34a, Fifth revision (local)
2dc9337c3987 -> 2f4682466279, Fourth revision
0fa2aed0866a -> 2dc9337c3987, Third revision
22af4a75cf06 -> 0fa2aed0866a, Second revision
9a8942e953eb -> 22af4a75cf06, First revision
在这种情况下,我将迁移更新f34e92e9dc54
为拥有down_revision='f673ac37b34a'
.