Migration.backwards()
メソッドを実行して、前回の移行 (0157) を元に戻したいです。本番サーバーで移行を元に戻しているので、コードの展開中に自動的に実行したいと考えています。デプロイ スクリプトは次の手順を実行します。
- プルコードの変更
- 移行を実行します。
manage.py migrate <app>
- 最新のコードを使用するように Apache を更新します。
touch django.wsgi
可能であれば、South に 0156 に後方移行するように指示する新しい移行ファイルを作成します。
migrations/0158_backward__migrate_to_0156.py
このコミットされた移行は、本番環境にデプロイされ、manage.py migrate <app>
コマンド中に実行されます。この場合、これらの回答で提案されているように、後方移行を手動で実行する必要はありません。
最初はユーザーの支払い用、2 番目はユーザー モデル用の 2 つのデータ移行を作成したとします。これらのデータ移行を元に戻す必要がある場合に備えて、両方の移行に backwards() メソッドを実装しました。これら 2 つの移行を本番環境にデプロイしました。そして突然、支払いの移行にエラーが含まれていることがわかりました。最後の 2 回のデータ移行をできるだけ早く元に戻したいと考えています。それを行うための最速の安全な方法は何ですか?