2015-02-05 32 views
0

当运行蒸馏器revision命令生成一个新的修订剧本,我得到以下(不特别有用)错误:蒸馏器错误:“只有一个单头支持那么远,”

$ alembic -c <my-config>.ini revision -m "example message" 
    Only a single head supported so far... 

言下之意似乎我不知何故在我的Alembic系统中以两个HEAD结束 - 虽然我不确定这意味着什么。

在我们的工作流程中,迁移脚本是由多个开发人员编写的,所以我的猜测是两个开发人员同时创建一个引用相同“修订”标识符的修订版本。

  • 这是什么错误信息的含义?
  • 识别违规迁移脚本的最佳方法是什么?
  • 解决这个错误的最好方法是什么(请记住,我相信我们的版本控制中的所有迁移已经应用到数据库了)?

回答

1

此错误表示您有两个引用相同down_revision的修订版本。看看你创建的最后几个版本,看看哪些版本引用了相同的down_revision

# revision identifiers, used by Alembic. 
revision = '234342f7fc2d' 
down_revision = '3981426f2c20' 

我的违规修订最终成为“额外”未使用的修订版,所以我刚删除它。