오히려 좋아..

상황이 나쁘게만 흘러가는 것 같을 때 외쳐보자.. .

궁금한 마음으로 포트폴리오 보기

Web Programming/Django

[Django] 장고 migrations 명령어

junha6316 2020. 12. 24. 09:57

마이그레이션은 어렵다..

모델 사이의 관계나 필드의 속성을 바꿀 때  또는 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.