我有一个应用程序,今天我想为其创建一个新的迁移。当我运行时

$ alembic revision -m "__name__"

我收到消息
Only a single head is supported. The script directory has multiple heads (due branching), which must be resolved by manually editing the revision files to form a linear sequence.
Run `alembic branches` to see the divergence(s).

运行
alembic branches

什么都不给

我是新来的Alembic。这个应用程序有2个开发人员,而我们有2个git分支-master&developer(我不确定这是否与此有关)。

关于这是什么线索?

最佳答案

当两个Alembic迁移从同一个迁移分支时,会发生此问题。通常,当多个人进行模式更改时会发生这种情况。要解决此问题,您只需将迁移的down_revision调整为最新版本的alembic history。运行2f4682466279向我们展示了这一点:

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

您可以看到,第五个修订版中的一个是本地制作的,其下游修订版是down_revision,但是制作另一个第五个修订版的人也得到了相同的下游修订版。

进入一个第五修订版本文件,并更新f34e92e9dc54变量以引用另一个第五修订版本,如下所示:
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

在这种情况下,我将迁移down_revision='f673ac37b34a'更新为具有ojit_code。

08-27 19:30