반응형
장고에서 새로운 관리자 계정을 만들기 위해 다음 코드를 입력했다.
$ python manage.py createsuperuser
하지만 이런 오류가 발생했다.
django.db.utils.OperationalError: no such table: users_user 오류가 발생
위 해결방법을 먼저 수행해보자.
그럼에도 no such table 오류가 해결이 안 될 수도 있다.
(해결하느라 6시간 걸렸다는...)
무엇이 문제인지 파악하고 해결해보자.
해결하기전에 혹여나 하는 마음에
open editor에 있는 db.sqlite3를 제거해주자(존재해 있는 db 삭제)
1. migration 생성
python manage.py makemigrations
terminal에 위와 같이 입력 한다(migration 생성)
2. migration 생성(테이블 생성)
python manage.py migrate --run-syncdb
terminal에 위와 같이 입력
여기서 --run-syncdb 명령이 무슨 뜻인지 의문이 생겼다.
--run-syncdb은 마이그레이션하지 않고 앱에 대한 테이블을 만드는 것이다.
이렇게 수행하고 createsuperuser를 해보자.
오류가 해결되었다...!
기존에 존재하는 db에 똑같은 테이블이 반복 생성되는 것이 원인인 것 같다.
반응형