막 적는 Django 2탄

samdaso-o·2021년 7월 14일
0

Django

목록 보기
3/9

Migrate?

장고 명령어 중 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문장으 실행하는지 보여줌.


Django model 변경

  1. model.py 에서 모델을 변경
  2. python manage.py makemigrations을 통해 변경사항에 대한 마이그레이션을 생성
  3. python manage.py migrate명령을 통해 변경사항을 데이터베이스에 적용

CharField: 문자의 길이
DateTimeField: 시간 타입
IntegerField: 숫자 타입
ForeignKey: 각각의 데이터가 하나의 데이터에 관계된다는 것을 Django에게 알려줌. 부모 자식 관계의 데이터모델을 참조함.
Cascade : 데이터베이스내의 임의의 다른 테이블과 primary key 또는 foreign key로써 관계가 여전히 존재하는 경우 primary key가 존재하는 테이블을 제거 및 비활성화를 못하게 함. 부모 테이블과 자식테이블 간에 참조 설정이 되어 있을때 부모 테이블의 제약 조건을 비활성화 시키면서 이를 참조하고 있는 자식 테이블의 제약 조건까지 함께 비활성화시키기 위해 사용

profile
ㅎㅅㅎ

0개의 댓글