Alembic 具有升级和降级到特定版本的命令,例如在命令行上:
alembic upgrade <target-revision>
还有
alembic downgrade <target-revision>
如果您不知道是升级还是降级,是否有一种简单的方法可以迁移到特定版本?即
alembic migrate <target-revision>
我可以通过查看历史、当前和目标修订来确定方向,但这感觉就像与图书馆作斗争。我是否遗漏了某些东西,或者是否有原因不提供开箱即用的功能?
事实证明,有一个非常简单、实用的解决方案:
alembic upgrade <target-revision> || alembic downgrade <target-revision>
由于这仍然是 Google 上的最佳结果之一,我将为仍然在这里结束的人添加这个答案。
自 Alembic 0.7(2014 年 11 月 24 日发布)以来,可以使用 相对修订标识符。
使用
alembic upgrade +2
应用接下来的两个修订,或使用 alembic downgrade -2
恢复最后两个修订。
(至少在今天)也可以将相对迁移的起点作为修订:
alembic upgrad b33f+1
。