【Django】Migrationsのリセット方法
データベース内のデータを残したまま、DjangoのMigrationsをリセットする方法
タイトル
リセット前の確認
まずは既存のmodelsがデータベースに適合しているか確認を実施。
python manage.py makemigrations
コマンド実行後にエラーがなければOK。
Migrations処理が残ってないかも確認。
「No changes detected」が表示されていることを確認。
Migrations履歴を確認
Migrationsの履歴を確認。
python manage.py showmigrations
Migrations履歴を削除
Migrationsの履歴を削除するために下記コマンドを実行
python manage.py migrate --fake XXX zero
XXXの部分はアプリ名を指定
Migrations履歴が削除されたか確認
Migrationsの履歴が削除されているか履歴を確認。
python manage.py showmigrations
Migrationsの履歴が削除された項目の「[X]」が「[ ]」に変更になっていることを確認。
Migrationsファイルを削除
該当アプリのmigrationsディレクトリ内にある「__init__.py」以外のファイルを削除
Migrationsファイルを再作成
Migrationsファイルを削除したので、新たにMigrationsファイルを作成します。
python manage.py makemigrations
migrateを実行
新たに作ったmigrationsファイルをmigrateを実行して反映するが、既にデータベースのテーブルが存在するので、fakeコマンドで実行
python manage.py migrate --fake-initial
ディスカッション
コメント一覧
まだ、コメントがありません