1 개요
모델에 의해 관리되는 데이터베이스.
기본 설치는 SQLite로 되어있다.
그러나, 동시접근처리능력에서 약해 엔터프라이즈급 DB를 사용해야 할 때가 있다.
1.1 공식지원 DB
MySQL(Maria DB), PostgreSQL, Oracle DB를 공식적으로 지원하고 있다.
2 연동
기본적인 절차는 다음과 같다.
- 연동드라이버 설치
- settings.py 수정
- DB반영
- python manage.py migrate
- 재설정
- 처음 만든 DB는 초기화 상태. 관리자계정 생성 등 이런저런 설정을 다시 해주어야 한다.
2.1 설정
데이터베이스 관련 설정에서 ENGINE을 수정하여 기본 DB를 설정할 수 있다.
기본적으로 django.db.backends.sqlite3
라고 되어있지만, django.db.backends.postgresql
,django.db.backends.mysql
,django.db.backends.oracle
까지 4가지를 공식 지원한다.
2.2 SQLite
장고 기본 DB. GUI도구인 DB Browser for SQLite를 설치하면 테이블들을 볼 수 있다.
2.2.1 백업
처음엔 SQLite로 개발하다 실제 서비스에서 다른 DB로 넘어가야 할 때가 있다. 그때 기존에 사용하던 데이터를 그대로 옮기고 싶다면 다음의 명령으로 백업파일을 만들자.
python manage.py dumpdata > db.json
2.3 MySQL 연동
사전에 DB를 만들어두어야 한다.
과정 | 설명 | 방법 |
---|---|---|
연동드라이버 설치 | mysqlclient 설치 | pip install mysqlclient |
settings.py 수정 | DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mysite',
'USER': 'user',
'PASSWORD': '1234',
'HOST': 'localhost',
'PORT': '3306',
}
}
| |
반영하기 | 이전에 백업한 데이터가 있다면 다음의 명령어를 쓰자.ㅇ
|
python manage.py migrate |
3 DB쿼리 사용하기
python manage.py dbshell 를 통해 데이터베이스의 쿼리를 다를 수 있다.