Django マイグレーションの状態を初期化・リセットする
Djangoのマイグレーションの状態を初期化・リセットする方法を紹介します。
appという名前でアプリケーションを作成し、Django マイグレーションの基本的な使い方で紹介した方法で、model.pyに定義したテーブルの定義情報をデータベースに登録してある状態とします。
マイグレーションの状態を確認
まずは以下のコマンドでマイグレーションの状態を確認します。
$ python manage.py showmigrations app
app
[x] 0001_initial- [ ]はマイグレートファイルを作成してDBには反映していない状態
- [x]はマイグレートファイルを実行してDBに反映した状態
ロールバック
「マイグレートファイルを実行してDBに反映した状態」を「マイグレートファイルを作成してDBには反映していない状態」に戻す(ロールバック)するには、以下のコマンドを実行します。
$ python manage.py migrate api zero再度マイグレーションの状態を確認すると、以下のように、ロールバックされていることが確認できます。
$ python manage.py showmigrations app
app
[ ] 0001_initialmigrationフォルダの__init__.py以外のファイル(0001_initial.py)を削除すれば、マイグレーションの状態を初期化は完了です。
リセットしたあとはmakemigrationsでマイグレートファイルの作成からやり直すことができます。