Backend/Django
[Django] makemigrations 혹은 migrate 할 경우 발생한 에러 해결방법
meong_j
2021. 9. 24. 11:32
728x90
반응형
django 에서 내가 설정한 model 을 반영하기 위해 터미널창에
python manage.py makemigrations
혹은
python manage.py makemigrate
입력한 경우
InconsistentMigrationHistory( django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency accounts.0001_initial on database 'default'.
이러한 오류가 뜬 경우가 있다.
이때 마이그레이션 설정한 파일이 꼬인 경우인데 각 폴더 안에 있는 migrations 폴더에 __init__.py 파일 을 제외하고 나머지 파일 0001_initaial.py 등과 같은 파일을 모두 삭제하고 다시 python manage.py makemigrations 을 하면 된다고
찾아봤지만 해결이 안되어서
알고보니 장고에서 기본으로 제공해 주는 User테이블과 내가 만든 User테이블이 충돌(?)이 나서 생긴 오류 였다.
해결방법은
1. 해당 프로젝트의 db.sqlite3 파일 삭제
2. python manage.py makemigrations
3. python manage.py migrate
4. python manage.py createsuperuser
이러한 순서로 하면 에러 없이 잘 마이그레이션이 된다!!
하지만 이 방법은 관리자계정 설정이나 데이터베이스가 다 날아가기 때문에 초기에 주의하여 잘 설정해주는 것이 좋다.
반응형