【问题标题】:Why alembic didn't generate migration?为什么alembic没有产生迁移?
【发布时间】:2019-04-14 18:05:36
【问题描述】:

当我运行命令时

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'

问题的根源是什么?

【问题讨论】:

  • 尝试 pip2 install alembic,python3 可能是你的 linux 版本的默认值。
  • @CodeLikeBeaker 谢谢,但我解决了我的问题:在使用 alembic 时,我不应该使用 sudo,因为它会尝试在全局中查找命令,但 Im work in virtual env, so in my case, problem was with alembic revisions: in my database in alembic_version`我有一些修订的信息,(也许)我删除了。所以我只是清理那张桌子并进行修改。
  • @Klimenkomud 嘿,你能把这个问题标记为已解决吗? (回答你自己的问题)谢谢
  • @Ehvince 完成,我发布了一些有用的答案

标签: python sqlalchemy alembic


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-03-17
    • 2019-04-30
    • 2016-05-21
    • 2016-05-21
    • 1970-01-01
    • 2012-06-26
    • 2017-04-30
    • 2018-02-13
    • 1970-01-01
    相关资源
    最近更新 更多