web-dev-qa-db-ja.com

最後のAlembic移行を元に戻す

alembic revision --autogenerateを使用して移行を作成し、alembic upgrade headを使用して開発データベースに適用した後、それが私が望んでいたものではないことに気付きました。

移行を元に戻して微調整して再試行するにはどうすればよいですか?

23
Mark Amery

戻るoneリビジョンのみにしたい場合、 _alembic downgrade_相対移行identifier of -1:

_alembic downgrade -1
_

これにより、最新のリビジョンのdowngrade()メソッドが実行され、現在のリビジョンを示すためにリビジョンテーブルが更新されます。

複数の移行に戻る必要がある場合は、実行します

_alembic history
_

プロジェクト内のすべてのマイグレーション(最新のものから古いものへ)のリストを表示するには、次に戻りたいマイグレーションの識別子をコピーして貼り付けます:

_alembic downgrade 8ac14e223d1e
_

現在、バージョンディレクトリから移行をdeleteするコマンドはありません。そのため、悪い移行のすべての痕跡を完全に消去したい場合は、バージョンファイル(_4c009570237e_add_widget_table.py_など)を手動で削除します。

36
Mark Amery