코딩,해볼까

05.05. user model에서 custom user model로 admin 마이그레이션 시 오류 해결 방법 본문

Back/TIL

05.05. user model에서 custom user model로 admin 마이그레이션 시 오류 해결 방법

떠굥 2023. 5. 5. 15:30

1.  문제점

저번주 숙제였던 장고 심화 개인과제 복습을 진행하기위해 내 Github 레포지토리에서 클론을 진행했다.

그리고 다른 컴퓨터로 작업했던 코드를 붙여넣고 실행하던 중, migrations가 되어있지 않아서 다시 시도하다가 오류를 만났다.

....

django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.0001_initial on database 'default'.
(venv) 



2. 시행착오

정확하게 users 를 migrations 하던 중에 생긴 오류이며,

이 오류는 'admin.0001_initial' 마이그레이션이 'users.0001_initial' 마이그레이션보다 먼저 적용되었다는 뜻이라고 한다.

 

 

1. admin의 마이그레이션을 되돌린 후 

 

python manage.py migrate admin zero

 

2. users의 마이그레이션을 다시 적용

 

python manage.py migrate users

 

3. admin의 마이그레이션을 다시 적용

 

python manage.py migrate admin

 

의 순서라고 했다. 나는 admin을 마이그레이션 한 적이 없다..다만 어드민을 작동시켜보기 위해 기본 코드를 복사해왔었다. 이부분이 문제인가 싶어서 주석처리도 진행하고 시도했다.

 

 

구글 검색과 gpt 를 통해서 해결방법을 시도했지만 계속해서 실패했다.

 


3. 해결방법


1. users의 migrations 폴더를 스스로 삭제시켰다. + sqlite3 db도 삭제

2. python manage.py migrate admin zero 를 실행했다.

 

 

admin은 후발대 강의에서 진행하였는데, 여기까지 진행하다가 후발대 강의에 좋은 자료가 있었다는 것을 알게되었다.

user model 에서 custom user model 로 마이그레이션 하는 방법 - 스택오버플로우

 

 


4. 알게된 점

나중에 알고봤더니 맨~ 처음 셋팅 시에 마이그레이션을 한 적이 있었다...!

이런 부분에서 오류가 날 줄 몰랐는데, 직접 겪어보고 나니 첨부해주신 문서도 그렇고 구글링도 많은 도움이 되었다.

마이그레이션을 하고나면 고쳐야할 때 조금 어렵다. 

최대한 완벽하게 마이그레이션 할 수 있도록 설계해보자!

 

 

 

 

 

 

Comments