微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法通过修订 ID 回滚特定的 Alembic 迁移

如何解决无法通过修订 ID 回滚特定的 Alembic 迁移

我正在尝试通过 Alembic 在 Postgresql 中进行架构迁移。

我有 2 次迁移,revision = '0eb4bd9decb0'down_revision = Nonerevision = 'bf34bf428845',down_revision = '0eb4bd9decb0'

所以我通过以下方式成功地从两个迁移文件运行迁移:-

alembic upgrade 0eb4bd9decb0

alembic upgrade bf34bf428845

现在我在降级这些迁移时遇到问题,即我想使用 revision= 'bf34bf428845'

降级迁移

所以我写

alembic downgrade bf34bf428845

但它不起作用并且没有显示任何错误

以上代码输出:-

(migration) C:\xampp\htdocs\dbmigration python\migration\db>alembic downgrade bf34bf428845
INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO  [alembic.runtime.migration] Will assume transactional DDL.

但是如果我运行此代码:-

alembic downgrade -1

它按 Undo last Alembic migration

的预期工作

那么如何通过修订 ID 降级 Alembic 迁移?

解决方法

跑步时

alembic upgrade 0eb4bd9decb0
alembic upgrade bf34bf428845

顺便说一下,这和刚才一样

alembic upgrade bf34bf428845

您的数据库将处于修订版 bf34bf428845。那么如果你运行

alembic downgrade bf34bf428845

它不会有任何影响,因为数据库的版本已经是 bf34bf428845。

如果您想撤消使您进入修订版 bf34bf428845 的更改,您需要降级到 之前 bf34bf428845 的修订版,即,

alembic downgrade bf34bf428845-1

alembic downgrade 0eb4bd9decb0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。