데이터 분석 기술 블로그

DB에 대하여(20)_Fixtures (feat. Django) 본문

DB

DB에 대하여(20)_Fixtures (feat. Django)

데이터분석가 이채은 2024. 5. 7. 21:35

1. Fixtures

Django가 데이터베이스로 가져오는 방법을 알고 있는 데이터 모음입니다. 데이터베이스 구조에 맞추어 작성되어있습니다.


2. 초기 데이터 제공

Fixtures의 사용 목적입니다.

초기 데이터의 필요성


3. Fixtures 활용

3-1 사전 준비

M:N까지 모두 작성된 Django 프로젝트에서 유저, 게시글, 댓글 등 각 데이터를 최소 2~3개 이상 생성해 둡니다.


3-2 fixtures 관련 명령어

  • dumpdata: 생성 (데이터 추출)
  • loaddata: 로드 (데이터 입력)

3-3 dumpdata

데이터베이스의 모든 데이터를 추출합니다. 추출한 데이터는 json 형식으로 저장합니다.

# 작성 예시

python manage.py dumpdata [app_name[.ModelName] [app_name[.ModelName] ...]] > filename.json

dumpdata 활용 (1)
dumpdata 활용 (2)


3-4 loaddata

Fixtures 데이터를 데이터베이스로 불러옵니다.

Fixtures 파일 기본 경로는 app_name/fixtures/ 로 Django는 설치된 모든 app의 디렉터리에서 fixtures 폴더 이후의 경로로 fixtures 파일을 찾아 load 합니다.

 

1. db.sqlite3 파일 삭제 후 migrate 진행합니다.

 

2. load 후 데이터가 잘 입력되었는지 확인합니다.

 

loaddata 순서 주의사항


참고

1. 모든 모델을 한 번에 dump 하기


2. loaddata 시 encoding codec 관련 에러가 발생하는 경우


3. Fixtures 파일을 직접 만들지 말 것

반드시 dumpdata 명령어를 사용하여 생성합니다.