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 공식 문서를 참고.
3. 마무리
이제 Django의 기본 앱들을 위한 테이블이 데이터베이스에 성공적으로 생성되었다.
다음으로 아래 내용을 진행한다. 🚀
- Django admin을 생성하는 방법
- API Key 등 외부에 노출되면 안 되는 값을 환경 변수에 저장하는 방법
- 공공데이터 포털 API를 호출하고 응답받는 코드 작성
👉 다음 글에서 계속된다! 🔥
'국회도서관 자료검색 서비스' 카테고리의 다른 글
django rest framework swagger drf_yasg 설정 #10 (0) | 2024.08.09 |
---|---|
django 공공데이터 포털 API 코드, 환경변수 설정, admin 생성하기 #9 (0) | 2024.08.08 |
pylint 로 python 가상환경 venv 코드와 vs code 와 연결시키기 #7 (0) | 2024.08.06 |
django cors 크로스 도메인 오류 해결 #6 (0) | 2024.08.05 |
django REST Framework 로 API 서버 구성하기 #5 (0) | 2024.08.02 |