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モデルをマイグレーションします。

  1. settings.pyのINSTALLED_APPSを一時的に修正
  2. マイグレーションを実行
  3. settings.pyを元に戻す
  4. 再度マイグレーションを実行

という手順になります。

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’,の行をコメントインします。

マイグレーションの再実行

再度、マイグレーションを実行して完了です。

まとめ

少しずつ臨機応変に対応できるようになってきました。やったね!

コメントを残す

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

*

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