이걸 왜 사용하나요?
장고에서 DB을 사용하다 보면, 성능이나 다른 이슈로 인해 다른 DB에 데이터를 옮겨야 하는 상황이 발생하기도 합니다. 이때 dumpdata와 loaddata을 활용한다면 쉽게 DB에서 데이터를 추출하고 적재할 수 있습니다.
dumpdata : DB 데이터 추출
dumpdata 명령어를 실행한 뒤 출력되는 데이터를 파일로 추출하는 방식입니다. 해당 명령을 실행하면 dumpdata로 반환되는 값을 data.json 이름의 파일로 보내면서
참고로 data.json 말고 다른 이름으로 변경하여 사용이 가능합니다.
python manage.py dumpdata > data.json
특정 장고 앱의 데이터만 저장한다면 dumpdata 뒤에 앱 이름을 입력합니다.
python manage.py dumpdata appname > data.json
특정 앱만 빼고 데이터가 필요하다면 --exclude 옵션을 이용합니다. --exclude 옵션은 중첩하여 사용할 수 있습니다.
python manage.py dumpdata --exclude appname > data.json
python manage.py dumpdata --exclude auth.permission --exclude authtoken --exclude contenttypes > data.json
loaddata : DB에 적재
loaddata명령어는 dumpdata로 저장한 json파일을 불러와 현재 장고에서 사용 중인 DB에 저장합니다. --exclude 옵션을 통해 특정 데이터를 제외하고 불러올 수 있습니다.
python manage.py loaddata data.json
python manage.py loaddata --exclude auth.permisson data.json
'FrameWork > Django' 카테고리의 다른 글
django-seed을 통해 더미데이터 만들기 (0) | 2023.12.13 |
---|---|
settings.py 분리하여 관리하기 (1) | 2023.11.23 |
장고(Django) 프레임워크 소개와 프로젝트 생성하기 (0) | 2023.11.23 |
Forbidden (403) CSRF verification failed 오류 해결하기 (0) | 2023.11.11 |
DRF FBV, CBV (APIView, Mixin, Generic, Viewset) (0) | 2023.08.28 |