FrameWork/Django

dumpdata와 loaddata을 통해 DB데이터 추출, 적재하기

jheaon 2023. 11. 23. 18:41

 

이걸 왜 사용하나요?

장고에서 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'의 다른글

  • 현재글 dumpdata와 loaddata을 통해 DB데이터 추출, 적재하기

관련글