『動かして学ぶ! Python Django開発入門』のchapter11にて、起きたバグを解決したのでメモとして残す。
※レコードが全て消えます
全てのアプリのmigrationsフォルダの__init__.py
以外を消す。
※ __init__.py
も消してしまったら作り直す(中身は空でいい)
自分の場合はdiary/migrations
とaccounts/migrations
の中身を削除
psql -d private_diary(自分が作成したDB名)
でDBに接続
※psql -h ホスト名 -p ポート番号 -U ロール名 -d データベース名を省略したコマンド
DB全削除
drop schema public cascade;
create schema public;
の後に
python manage.py makemigrations
python manage.py migrate
でテーブルを元に戻る
このエラーは本の書いてある通りに./manage.py migrate
を行わない場合に起こってしまうように思う。
custome_userを作成する前にdjangoに標準で作成されるuserでmigrateし、その後にcustome_userを作るので
table同士のリレーションがおかしくなって起こるエラーみたい。
もっといいやり方があればコメントしていただけると嬉しいです。