#背景
ローカルで一通り開発した後によっしゃGAEのMYSQLに繋ぐか!ってなった時に繋いでmigrateしたらerrorが出てしかもadminにログイン出来ない!となった。
実際のエラー内容は
table django_session doesn't exist
#環境
MacOS Mojave 10.14
Python 3.7.3
Django 2.2
#原因探し
とりあえずpython manage.py showmigrations
してみたら
$ python3 manage.py showmigrations
admin
[X] 0001_initial
[X] 0002_logentry_remove_auto_add
[X] 0003_logentry_add_action_flag_choices
auth
[X] 0001_initial
[X] 0002_alter_permission_name_max_length
blog
[ ] 0001_initial
[ ] 0002_auto_20190912_2307
[ ] 0003_auto_20190912_2314
[ ] 0004_auto_20191001_1124
sessions
[ ] 0001_initial
こんな感じ。
そもそもmigrateをした時にblogで詰まっていた為そのあとのsessionsが実行されていないために起こっていたerrorみたいですね。
#応急処置
sessionsがmigrateされればとりあえずadminにログインできるようになるだろうという仮説を立てて、
python3 manage.py migrate sessions
をやってみると
Operations to perform:
Apply all migrations: sessions
Running migrations:
Applying sessions.0001_initial... OK
と出て実際にログインもできたのでとりあえず応急処置的になんとかするならこれで大丈夫かと。
blogのmodel.pyをしっかり書けていればそもそも発生しなかった現象なのでもう一度modelの書き方をしっかり学び直そうと思います。