Django의 Migration
마이그레이션(Migration)은 모델(Model)의 변경 사항 즉 Django 프로젝트의 데이터 구조 변경 사항을 관리하기 위한 Django만의 관리 방법이다.
변경될 때마다 히스토리를 하나씩 만들어 두고 마치 블럭을 갈아 끼우듯 생성한 히스토리를 실제 데이터베이스에 반영하는 것임.
그리고 이 모든 과정은 Django의 ORM(Object-Relational Mapping)을 통해 진행된다.
여기에는 4가지 명령어가 있다.
- makemigrations
- migrate
- showmigrations
- sqlmigrate
makemigrations
python manage.py makemigrations
모델의 변경 사항을 인식해 새로운 마이그레이션을 만드는 명령어이다.
이때 마이그레이션은 각 앱 디렉토리 내 migrations 디렉토리 안쪽에 생성된다.
migrate
python manage.py migrate
생성된 최신 버전의 마이그레이션을 데이터베이스에 반영하는 명령어이다.
만약 이전 마이그레이션으로 되돌리고 싶다면 python manage.py migrate {앱 이름} {되돌릴 마이그레이션 번호}
showmigrations
python manage.py showmigrations
현재 django 프로젝트의 모든 마이그레이션과 반영 상태를 나타낸다.
만약 특정 앱에 대한 것만 보고 싶다면 python manage.py showmigrations {앱 이름}
저기 [X] 표시가 반영 되었다는 의미임
sqlmigrate
python manage.py sqlmigrate {앱 이름} {마이그레이션}
인수로 넘겨준 마이그레이션이 ORM을 통해 변경된 SQL문을 출력하는 명령어이다.
sqlmigrate를 통해 모델이 의도한 대로 SQL문으로 변경되어 데이터베이스에 반영되었는지 확인할 수 있다.
'컴퓨터 > WEB' 카테고리의 다른 글
[Web] 로그인 메커니즘, 그리고 세션과 쿠키 (0) | 2022.05.10 |
---|---|
[Django] PythonAnywhere로 Django 프로젝트 배포하기 (0) | 2022.05.01 |
[Django] Template Language (0) | 2022.04.28 |
[Django] django의 MVT 구조 (0) | 2022.04.28 |
[Django] 장고에서 URL 작성하는 방법과 URL 처리 (0) | 2022.04.27 |