如何解决无法通过修订 ID 回滚特定的 Alembic 迁移
我正在尝试通过 Alembic 在 Postgresql 中进行架构迁移。
我有 2 次迁移,revision = '0eb4bd9decb0'
、down_revision = None
和
revision = '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 举报,一经查实,本站将立刻删除。