초기화 시기
- Sqlite DB를 실수로 지워버렸을 때
- 잦은 model 변경으로 migrations 꼬였을 때
방법
1. Database Server 삭제 (db.sqlite3, mysql, postgresql 등)
2. 각 app들의 migrations/ 폴더 내의 __init__.py를 제외한 모든 파일 삭제 (중요!!)
3. 위 2. 가 진행되면 migrations 폴더와 __init__.py 만 폴더내에 남아 있어야 함. (없으면 진행안됨)
4. 다음 명령어 실행하면 정상적으로 돌아와있는 DB를 볼 수 있다.
python manage.py makemigrations
python manage.py migrate
자동화 코드 (window ver)
Project 폴더 밑에서 python init_db.py 실행
# init_db.py
import os
os.system('del /s "*.pyc')
os.system('del /s "000*.py')
자동화 코드 (mac, linux)
Project 폴더 밑에서 reset.sh 실행
#!/bin/bash - reset.sh
apps="app1 app2 app3"
for app in $apps
do
echo "Delete-" $app
find . -path "./$app/migrations/*.py" -not -name "__init__.py" -delete
done
'Python > Django' 카테고리의 다른 글
[Django] CSRF Token + Form 방식 (0) | 2022.06.12 |
---|---|
[Django] CSRF Token + Ajax 비동기 통신 (0) | 2022.06.12 |
[Django] Message Framework (0) | 2022.06.04 |
[Django] Django .html .css 분리 방법 (by. Django Template) (0) | 2022.06.03 |
[Django] Admin으로 Table 관리하기 (0) | 2022.06.01 |