蒸馏器错误:“只有一个单头支持那么远,”
问题描述:
当运行蒸馏器revision
命令生成一个新的修订剧本,我得到以下(不特别有用)错误:蒸馏器错误:“只有一个单头支持那么远,”
$ alembic -c <my-config>.ini revision -m "example message"
Only a single head supported so far...
言下之意似乎我不知何故在我的Alembic系统中以两个HEAD
结束 - 虽然我不确定这意味着什么。
在我们的工作流程中,迁移脚本是由多个开发人员编写的,所以我的猜测是两个开发人员同时创建一个引用相同“修订”标识符的修订版本。
- 这是什么错误信息的含义?
- 识别违规迁移脚本的最佳方法是什么?
- 解决这个错误的最好方法是什么(请记住,我相信我们的版本控制中的所有迁移已经应用到数据库了)?
答
此错误表示您有两个引用相同down_revision
的修订版本。看看你创建的最后几个版本,看看哪些版本引用了相同的down_revision
。
# revision identifiers, used by Alembic.
revision = '234342f7fc2d'
down_revision = '3981426f2c20'
我的违规修订最终成为“额外”未使用的修订版,所以我刚删除它。