为什么 alembic 没有产生迁移?

Why alembic didn't generate migration?

当我运行命令

alembic revision --autogenerate -m "Reconciliation and daily amount tables"

它给我输出:

INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.
ERROR [alembic.util.messaging] Can't locate revision identified by '67ad9835cada'
  FAILED: Can't locate revision identified by '67ad9835cada'

问题的根源是什么?

问题出在修订版本上,它不在修订脚本目录中。如果在某种程度上你丢失了一些修订 - 你可以使用命令 alembic stamp 67ad9865deca,其中 67ad9865deca 修订标识符,对于你的数据库来说是修订的负责人(意味着如果你有更高的修订并且你不想那迁移)。或者只是在您的数据库中清理 tabla alembic_version,在这种情况下,您将告诉 alembic 您还没有进行任何迁移。