Django db삭제

MinSeoCho·2021년 8월 2일

장고 개발을 하다보면 db를 갈아 엎어야하는일이 가끔 존재하는데

장고field들을 건들이지 않고 그대로 존재하면
python manage.py makemigrations
python manage.py migrate로 버전별로 생성이 가능하지만..

가끔은 모든 db내용을 삭제 할 필요가 생기는 경우가 있다..
나같은 경우는 db를 3번째 갈아 엎는데 새로운 모델이 추가 되다 보니 이미 db에 존재하는 데이터들이랑 충돌이 나는 경우가 생겨서.. db를 지웠다...

1-0. 수정하려는 폴더의 migrations 에 init.py를 제외하고 전부 삭제해라

find . -path "/migrations/.py" -not -name "init.py" -delete
find . -path "/migrations/.pyc" -delete

이 2개의 명령어를 이용해서 삭제하는 방법도 있지만
나의 경우는 그냥 폴더에 들어가서 삭제했다. -> 이방법은 내가 몇개 안적어서 가능함

1-1. db.sqlite3를 삭제해라

python manage.py runserver를 하고 있으면 삭제가 안되므로 종료후 삭제해라.
이걸 삭제안하면 아무리 migration파일들을 삭제했다 해도

1-2. 새로운db 파일을 생성해라

python manage.py makemigrations
python manage.py migrate
를 진행하면 완성이 된다.

python manage.py runserver 하고 admin에 들어가서 내용을 확인하고 싶으면


실제로 db를 확인하고 싶다면

2-1. app폴더의 admin에 모델을 추가하기


이렇게 추가해두고

2-2. 장고 관리자를 추가하기

python manage.py createsuperuser

를 사용해서 관리자를 추가한 해준다 이때 사용한 아이디와 비밀번호를 기억해둬야 한다.

이렇게 추가를 해주고 python manage.py runserver에 들어가면 전반적인 내용을 확인 할 수 있다.

profile
열심히 하자..!

0개의 댓글