簡體   English   中英

撤消上一次 Alembic 遷移

[英]Undo last Alembic migration

我用alembic revision --autogenerate創建了一個遷移,用 alembic alembic upgrade head將它應用到我的開發數據庫中,然后意識到這不是我想要的。

我怎樣才能恢復遷移,以便我可以調整它並重試?

假設您只想返回一個修訂版,請使用相對遷移標識符為 -1 的alembic downgrade

alembic downgrade -1

這將運行最新版本的downgrade()方法並更新alembic_version表以指示您現在所處的版本。

如果您需要返回多個遷移,請運行

alembic history

查看項目中所有遷移的列表(從最新到最舊),然后復制並粘貼要返回的遷移的標識符:

alembic downgrade 8ac14e223d1e

目前沒有從您的版本目錄中刪除遷移的命令,因此如果您想完全清除所有不良遷移的痕跡,您需要手動刪除版本文件(如4c009570237e_add_widget_table.py )。

只是對 Mark Amery 回答的注釋:

如果你想運行一個版本的 downgrade() ,你需要運行alembic downgrade the-version-before-it ,這意味着它將恢復到你想要降級的版本之后的版本。

例如,您運行alembic history並獲得以下列表:

在此處輸入圖像描述

並假設您想恢復到cdd99ec41968 ,那么您將必須運行命令:

alembic downgrade 15972effcbd3

哪個是我們要還原的版本之前的版本。

希望它足夠清楚。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM