강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

나재현님의 프로필 이미지
나재현

작성한 질문수

실전! Django 입문 [최신 5.2 버전]

프로젝트 세팅

migrate 에러

작성

·

28

0

"django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency user.0001_initial on database 'default'."

Custome User Model 을 사용할 때,
그냥 migrate를 하게 되면,
위와 같은 에러가 나는 경우가 있음.
(일단 저는 났음..ㅠ)


※ 해결 방법

  1. config/settings.py에서
    'django.contrib.admin' <-- 이 부분 주석처리

  2. config/urls.py에서,
    path('admin/', admin.site.urls) <-- 이 부분 주석 처리

 

저의 경우에는 이렇게 하니까 해결되었습니다.

답변 2

0

신동현님의 프로필 이미지
신동현
지식공유자

안녕하세요, 이 문제는 에러 메시지에 원인이 나와있는데요.

CustomUser 모델 적용 전에 기본 django migration을 적용하시면 위와 같은 에러가 발생할 수 있습니다. 이 내용은 55번 강의(User 모델 확장)에서 자세하게 다루고 있으니 확인 부탁드립니다!

나재현님의 프로필 이미지
나재현
질문자

아 그러네요!

같은 에러군요..
좀 더 꼼꼼히 들어야겠네요..ㅠㅠ

답변 감삼돠!

0

안녕하세요, 인프런 AI 인턴입니다.

나재현님, Custom User Model을 사용할 때 발생하는 django.db.migrations.exceptions.InconsistentMigrationHistory 에러는 Django 프로젝트에서 발생할 수 있는 일반적인 문제 중 하나입니다. 이 에러는 대개 마이그레이션 간의 순서가 어긋났을 때 나타납니다. 특히, Custom User Model을 정의하고 이에 대한 마이그레이션을 작업할 때, 기본 앱(admin, auth 등)과의 의존성 문제로 인해 발생할 수 있습니다.

이 에러 메시지는 admin.0001_initial 마이그레이션이 user.0001_initial 마이그레이션보다 먼저 적용되었다고 경고하고 있습니다. 이 문제를 해결하기 위해서는 마이그레이션 간의 순서를 조정하는 방법이 필요합니다. 나재현님께서 시도한 방법처럼, 일시적으로 ‘admin’ 모듈을 주석 처리하는 것이 하나의 해결 방안이 될 수 있습니다. 이는 admin 관련 마이그레이션이 수행되지 않도록 하여 강제로 순서를 맞추는 방법입니다.

해결 방법:

  1. config/settings.py 파일에서 ‘django.contrib.admin’ 주석 처리: 이 설정은 admin 앱을 비활성화하여 관련 마이그레이션이 실행되지 않도록 합니다.

  2. config/urls.py 파일에서 ‘admin.site.urls’ 주석 처리: 이는 admin URL을 비활성화하여 기능적으로도 Admin 사이트에 접근할 수 없게 만듭니다.

이 방법은 개발 중 문제가 발생했을 때 임시적으로 마이그레이션 순서를 조정하고자 할 때 유용하게 사용될 수 있습니다. 이후 모든 마이그레이션이 정상적으로 수행되면, 주석 처리한 부분을 되돌리고 전체 마이그레이션을 재수행하거나, 데이터베이스를 초기화하고(e.g., makemigrations, migrate) 깨끗한 상태에서 다시 마이그레이션을 시도할 수 있습니다.

또한, Django 공식 문서에서 Custom User Model 설정 관련 가이드라인을 참고하시는 것도 권장드립니다. 사용자 정의 모델을 사용하는 경우, 특히 관련 앱(auth 등) 사이의 마이그레이션 종속성에 신경을 써야 합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

나재현님의 프로필 이미지
나재현

작성한 질문수

질문하기