替换Alembic基本修订版会引发KeyError

我正在尝试在flask应用程序中替换Alembic基本修订版。原因是尚未为该项目正确创建Alembic修订版,我想按正确的顺序将其从初始数据库更新到最新版本。为此,我必须创建一个初始修订并将其替换为树中的当前基本修订。 这是在进行任何更改之前树的外观:

>> alembic history
20b081e106eb -> f6b6d50b4012 (head),revision 6
604059d119b3 -> 1f6f72cb12a9,revision 5
fa56f5d34a18 -> 604059d119b3,revision 4
4e8f28c411ea -> fa56f5d34a18,revision 3
8494e6010c15 -> 4e8f28c411ea,revision 2
37b8265891db -> 8494e6010c15,revision 1
<base> -> 37b8265891db,previous base

我将生成的修订的down_revision更改为None,并将上一个基准的down_revision设置为生成的revision_ID。当我检查历史记录时,我发现一切都正确无误,新的基础修订版本已替换为先前的基础版本,而先前的基础版本则对生成的基础版本进行了修订:

>> alembic history
20b081e106eb -> f6b6d50b4012 (head),revision 1
47f0eb12e6b5 -> 37b8265891db,previous base
<base> -> 47f0eb12e6b5,initial database (new)

现在,当我运行alembic upgrade head时,出现此错误:

 File "/export/content/lid/apps/sec-assistant/dev-i001/libexec/sec-assistant_5a281323-d247-4339-afcf-79b88f9fab38/site-packages/alembic/script/base.py",line 329,in _upgrade_revs
        revs = list(revs)
      File "/export/content/lid/apps/sec-assistant/dev-i001/libexec/sec-assistant_5a281323-d247-4339-afcf-79b88f9fab38/site-packages/alembic/script/revision.py",line 652,in _iterate_revisions
        uppers = util.dedupe_tuple(self.get_revisions(upper))
      File "/export/content/lid/apps/sec-assistant/dev-i001/libexec/sec-assistant_5a281323-d247-4339-afcf-79b88f9fab38/site-packages/alembic/script/revision.py",line 300,in get_revisions
        resolved_id,branch_label = self._resolve_revision_number(id_)
      File "/export/content/lid/apps/sec-assistant/dev-i001/libexec/sec-assistant_5a281323-d247-4339-afcf-79b88f9fab38/site-packages/alembic/script/revision.py",line 433,in _resolve_revision_number
        self._revision_map
      File "/export/content/lid/apps/sec-assistant/dev-i001/libexec/sec-assistant_5a281323-d247-4339-afcf-79b88f9fab38/site-packages/alembic/util/langhelpers.py",line 240,in __get__
        obj.__dict__[self.__name__] = result = self.fget(obj)
      File "/export/content/lid/apps/sec-assistant/dev-i001/libexec/sec-assistant_5a281323-d247-4339-afcf-79b88f9fab38/site-packages/alembic/script/revision.py",line 151,in _revision_map
        down_revision = map_[downrev]
    KeyError: '47f0eb12e6b5'

有什么方法可以解决此问题,而无需删除并重新生成所有修订版本。

yexi831020zqymy 回答:替换Alembic基本修订版会引发KeyError

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2605202.html

大家都在问