Djangoのマイグレーションとデータベースのリセット方法

Djangoでモデルの追加や拡張を繰り返していたらエラーが発生し、動かなるというケースに遭遇しました。

開発段階であればとにかく一度リセットしてやり直すことができるので、その方法をメモします。

データベースの情報も全て吹っ飛ばしてもOKなケース

1. プロジェクト内にある全てのマイグレーションファイルを削除

Djangoのプロジェクト、アプリケーションにあるmigrationsディレクトリ、その中にある__init__.py以外のファイルを削除します。

LinuxとかMacなら次のコマンドで一掃できます。

find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc"  -delete

2. データベースを削除

db.sqlite3があるならそれを削除。PostgreSQLなど他のDBを使っている場合はデータベースごとDROPします。

3. マイグレーションファイルの作成とデータベースの生成

python manage.py makemigrations
python manage.py migrate

データベースの情報を残しておきたいケース

調査中

まとめ

マイグレーション・データベースのリセット方法をまとめました。開発段階ならとりあえずこれでOKかと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください