PROJECTS

django.db.utils.OperationalError: no such table | ⭐️해결⭐️ | migrate해도 안돼요

nicesugi 2022. 6. 16. 12:10

상황

app -> post, user 두 개의 앱이 존재합니다.

model -> post, user 각각 하나의 model을 갖고 있습니다.

post 앱의 post 모델만 적용시켜줍니다.

user앱의 user 모델은....... 안됩니다. 

데이터 베이스도 지워보고 ~ 하라는 대로 아래 코드 2줄로 데이터베이스를 migrate하여 적용시켰는데 ~ 

python manage.py makemigrations
python manage.py migrate

안된다! 왜 안되냐!!

👏 이 글을 보시면 될 듯합니다. 이 방법을 쓰고 같은 에러가 뜨는 걸 보지 않았기 때문에 포스팅합니다.

 

0.  오류발생

😱 django.db.utils.OperationalError: no such table: user

no such table: user

 

1. 우선, 삭제합니다.

  • db.sqlite3
  • __pycache__
  • migrations 폴더(__init__.py 제외)

 

2. 터미널에 코드 입력

# 데이터를 지워도 맞지 않을 경우 데이터의 싱크를 맞춥니다.
python manage.py migrate --run-syncdb

# 데이터베이스 변경된 사실을 django에 알립니다.
python manage.py makemigrations

# 싱크를 맞춘 뒤의 변경된 사실을 확인하셨으면 데이터베이스에 적용시켜봅니다.
python manage.py migrate

# 다 되셨으면 서버를 실행하여 작동되는지 확인합니다.
python manage.py runserver

2-1. 터미널 창

아래 보시면 migrations 했을때 또 post 만 보이는 걸 볼 수 있습니다.

하지만 migrate 내용에 auth라고 되어있는걸 보신다면, 정상적으로 된 것입니다.

제 user 모델이 장고 기본 모델인 auth로 설정되어 있어서 그렇습니다.

 

그럼 다들 화이팅 😊

반응형