Django db삭제

MinSeoCho·2021년 8월 2일
0

장고 개발을 하다보면 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개의 댓글