국회도서관 자료검색 서비스

django APP들을 위한 마이그레이션(migrate) 작업#8

유니네 라이브러리 2024. 8. 7. 13:14

Django 프로젝트에서 기본적으로 필요한 앱인 admin, auth, contenttypes, sessions를 실행하려면 마이그레이션(migrate) 작업이 필요하다.

 

이 글에서는 가상환경에서 마이그레이션을 수행하는 방법을 설명한다.

 

1. 마이그레이션(migrate) 실행하기

 

먼저, Django 가상환경에 진입한 후 마이그레이션 명령어를 실행한다.

python manage.py migrate

 

이 명령어를 실행하면 기본적으로 포함된 Django 앱(admin, auth, contenttypes, sessions)의 데이터베이스 테이블이 자동으로 생성된다.

 

📌 실행 예제

(pubd_api) pubdapi % python3 manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying sessions.0001_initial... OK
(pubd_api) pubdapi %

 

위와 같은 메시지가 출력되면 마이그레이션이 성공적으로 완료.

 

2. 마이그레이션이 필요한 이유

 

Django에서는 모델을 생성하고 변경할 때마다 마이그레이션(migrate) 작업을 수행해야 한다.

이 작업을 통해 데이터베이스 테이블이 자동으로 생성되고, 기존 테이블 구조가 변경될 경우 이를 반영할 수 있다.

 

🛠 마이그레이션 주요 명령어

명령어 설명
python manage.py makemigrations 모델 변경 사항을 마이그레이션 파일로 생성
python manage.py migrate 생성된 마이그레이션 파일을 적용하여 데이터베이스에 반영
python manage.py showmigrations 현재 적용된 마이그레이션 목록 확인
python manage.py sqlmigrate <앱이름> <마이그레이션번호> SQL로 변환된 마이그레이션 확인

 

더 자세한 내용은 Django 공식 문서를 참고.

🔗 Django 마이그레이션 공식 문서

 

3. 마무리

 

이제 Django의 기본 앱들을 위한 테이블이 데이터베이스에 성공적으로 생성되었다.

 

다음으로 아래 내용을 진행한다. 🚀

  • Django admin을 생성하는 방법
  • API Key 등 외부에 노출되면 안 되는 값을 환경 변수에 저장하는 방법
  • 공공데이터 포털 API를 호출하고 응답받는 코드 작성

👉 다음 글에서 계속된다! 🔥