마이그레이션은 어렵다..
모델 사이의 관계나 필드의 속성을 바꿀 때 또는 local에서 배포 환경에서 매번 마이그레이션이 문제가 될 때가 꽤 있다.
이번 포스트에서는 마이그레이션과 관련된 명령어를 정리하겠다.
1. 마이그레이션 파일 생성하기
python manage.py makemigrations
2. 데이터 베이스에 마이그레이트하기
python manage.py migrate
python manage.py migrate --settings=config.local.settings
python manage.py migrate --settings=config.deploy.settings
3. 어떤 마이그레이션이 적용되었는지 확인하기
python manage.py showmigrations
4. 특정 앱의 마이그레이션 취소하기
python manage.py migrate --fake app_name zero
여기서 --fake 인자는 해당 앱에 대한 마이그레이션을 적용할지 안할지 정하는 인자로 현재 마이그레이션 상태를 직접 조작 할 수 있게 만들어 주는 인자,(for Advanced User)
5. 특정 앱에 특정 마이그레이션 파일 적용하기
python manage.py migrate my_app 0010_previous_migration
6. 마이그레이션 초기화 : 디렉토리 안에 모든 파일을 __init__.py 모듈 빼고 싹 지운다. 리눅스에서는 아래와 같은 명령어로 쉽게 지울 수 있다.
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
7. 기존에 존재하는 테이블이 있다면 해당 과정을 스킵하는 명령어
python manage.py migrate --fake-initial
8.
'Web Programming > Django' 카테고리의 다른 글
[Django] Django에서 DB 엑셀 파일 생성하는 방법 (2) | 2021.02.17 |
---|---|
[Django] django apache (CentOS) 배포 (0) | 2021.01.26 |
[Django] Template Tags and Filters (Filter 편) (0) | 2020.12.10 |
[Django] Trouble Shooting (0) | 2020.12.02 |
[Django] Admin 등록 방법 (0) | 2020.12.02 |