본문 바로가기

Python/Django

Django: Database data dump # json으로 데이터 백업, 복구

728x90
반응형

Django에서 DB를 옮길 때 편하게 사용할 수 있는 기능입니다.

* dumpdata

    data를 json형태로 담아둡니다.

    1) 전체 테이블 dump

python manage.py dumpdata > data.json

 

    2) 일부 테이블 or 그 중의 일부 모델만

python manage.py dumpdata app_label1 app_label2.ModelName > data.json

 

    3) --format

python manage.py dumpdata app_label --format xml > data.xml
# default는 json

 

* loaddata

python manage.py loaddata data.json

  json, 또는 xml, 그리고 yaml 도 가능합니다. 단, yaml은 PyYAML 이 설치되어 있어야 합니다.

 

 

참고

dumpdata를 하는 것은 금방하지만,

loaddata를 하는 경우는 성능이 뛰어나진 않으니 사이즈가 큰 DB의 경우는 사용을 지양해야 할 것 같습니다.

 

dumpdata로 할때 .csv로도 가능합니다.

단,  csv로는 django가 지원할 수 있는 serialization format이 아니라서 loaddata가 안됩니다.

 

 

출처: https://docs.djangoproject.com/en/3.1/ref/django-admin/#dumpdata

728x90
반응형