훈훈훈

파이썬(Django) :: migrations 파일 정리 CLI Command 본문

파이썬/Django

파이썬(Django) :: migrations 파일 정리 CLI Command

훈훈훈 2020. 2. 29. 18:05

Django 프레임 워크로 작업 시 마이그레이션을 할때마자 001, 002 등등의 변경 내역이 저장된 파일이 생성되고 해당이 DB에 반영되는 된다.  

가끔 혼자 작업 하다 DB를 밀어버리는 상황이 발생하거나, git으로 팀원이 작성한 코드를 불러올 때 001, 002로 시작하는 파일들이 꼬여버려서 에러가 발생하는 경우를 종종 볼 수 있는데 이때 해결하는 방법은 "_ _ init _ _"파일을 제외한 모든 파일을 날려버리면 깔끔하게 애러 없이 실행시킬 수 있다. 

find . -path "*/migrations/*.py"
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete

python manage.py makemigrations
python manage.py migrate

 

- 실행 예시

Waveui-MacBookPro:myfaketrip-backend wave$ find . -path "*/migrations/*.py"
./product/migrations/0003_auto_20200228_1125.py
./product/migrations/0010_auto_20200229_0703.py
./product/migrations/0008_auto_20200228_1404.py
./product/migrations/0009_auto_20200229_0650.py
./product/migrations/0005_auto_20200228_1238.py
./product/migrations/0002_auto_20200228_1058.py
./product/migrations/__init__.py
./product/migrations/0007_auto_20200228_1311.py
./product/migrations/0006_auto_20200228_1258.py
./product/migrations/0001_initial.py
./product/migrations/0004_auto_20200228_1237.py
Waveui-MacBookPro:myfaketrip-backend wave$ find . -path "*/migrations/*.py" -not -name "__init__.py" -delete

Waveui-MacBookPro:myfaketrip-backend wave$ find . -path "*/migrations/*.py"
./product/migrations/__init__.py

Comments