장고 명령어 중 migrate가 있다.
이러한 명령어는 models.py에 정의된 모델의 생성 변경 내역을 히스토리 관리, 데이터베이스에 적용 등과 같은 기능을 제공하여 손쉽게 데이터베이스의 구조를 변경할 수 있다.
$python manage.py makemigrations [app-name]
-마이그레이션 파일 생성 / 변경사항에 대해 마이그레이션 파일 생성
$python manage.py migrate [app-name]
-마이그레이션 적용 / 아직 적용되지 않은 마이그레잇ㄴ을 모두 수집해 실행한다.
$python manage.py showmigrations [app-name]
-마이그레이션 적용 현황 / 현재 적용된 마이그레이션 파일을 보여줌
$python manage.py sqlmigrate [app-name]
-지정 마이그레이션의 sql 내역 / 생성된 마이그레이션 파일들이 어떤 sql문장으 실행하는지 보여줌.
CharField: 문자의 길이
DateTimeField: 시간 타입
IntegerField: 숫자 타입
ForeignKey: 각각의 데이터가 하나의 데이터에 관계된다는 것을 Django에게 알려줌. 부모 자식 관계의 데이터모델을 참조함.
Cascade : 데이터베이스내의 임의의 다른 테이블과 primary key 또는 foreign key로써 관계가 여전히 존재하는 경우 primary key가 존재하는 테이블을 제거 및 비활성화를 못하게 함. 부모 테이블과 자식테이블 간에 참조 설정이 되어 있을때 부모 테이블의 제약 조건을 비활성화 시키면서 이를 참조하고 있는 자식 테이블의 제약 조건까지 함께 비활성화시키기 위해 사용