social-auth-app-djangoの依存関係が原因でマイグレーションできなくなったのを修正する方法
|
マイグレーションを初期化して再度マイグレーションを実行した時に、 social-auth-app-django の依存関係が原因でマイグレーションできなくなりました。
エラーメッセージは次のようになっていました。
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration social_django.0001_initial is applied before its dependency my_app.0001_initial on database 'default'.
解決方法をメモします。
修正方法
social-auth-app-django の前に、依存関係にあるアプリケーション側のUserモデルをマイグレーションします。
- settings.pyのINSTALLED_APPSを一時的に修正
- マイグレーションを実行
- settings.pyを元に戻す
- 再度マイグレーションを実行
という手順になります。
settings.pyの修正
INSTALLED_APPSの ‘social_django’, をコメントアウトします。
INSTALLED_APPS = [
...
# 'social_django',
...
]
この状態で showmigrations を実行すると、social_django関連のモデルがないことがわかります。
マイグレーションの実行
マイグレーションを実行します。
python manage.py makemigrations
python manage.py migrate
settigs.pyを元に戻す
コメントアウトした ‘social_django’, の行をコメントインします。
マイグレーションの再実行
再度、マイグレーションを実行して完了です。
まとめ
少しずつ臨機応変に対応できるようになってきました。やったね!