"장고 DB설정"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
(→연동) |
|||
21번째 줄: | 21번째 줄: | ||
==SQLite== | ==SQLite== | ||
장고 기본 DB. GUI도구인 DB Browser for SQLite를 설치하면 테이블들을 볼 수 있다. | 장고 기본 DB. GUI도구인 DB Browser for SQLite를 설치하면 테이블들을 볼 수 있다. | ||
+ | |||
+ | === 백업 === | ||
+ | 처음엔 SQLite로 개발하다 실제 서비스에서 다른 DB로 넘어가야 할 때가 있다. 그때 기존에 사용하던 데이터를 그대로 옮기고 싶다면 다음의 명령으로 백업파일을 만들자. | ||
+ | |||
+ | <code>python manage.py dumpdata > db.json</code> | ||
+ | |||
==MySQL 연동== | ==MySQL 연동== | ||
− | 연동드라이버 설치 | + | 사전에 DB를 만들어두어야 한다. |
+ | {| class="wikitable" | ||
+ | !과정 | ||
+ | !설명 | ||
+ | !방법 | ||
+ | |- | ||
+ | |연동드라이버 설치 | ||
+ | |mysqlclient 설치 | ||
+ | |pip install mysqlclient | ||
+ | |- | ||
+ | |settings.py 수정 | ||
+ | | | ||
+ | |<syntaxhighlight lang="python"> | ||
+ | DATABASES = { | ||
+ | 'default': { | ||
+ | 'ENGINE': 'django.db.backends.mysql', | ||
+ | 'NAME': 'mysite', | ||
+ | 'USER': 'user', | ||
+ | 'PASSWORD': '1234', | ||
+ | 'HOST': 'localhost', | ||
+ | 'PORT': '3306', | ||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |- | ||
+ | |반영하기 | ||
+ | |이전에 백업한 데이터가 있다면 다음의 명령어를 쓰자.ㅇ | ||
+ | |||
+ | <code>python manage.py loaddata db.json</code> | ||
+ | |python manage.py migrate | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
=DB쿼리 사용하기= | =DB쿼리 사용하기= | ||
python manage.py dbshell 를 통해 데이터베이스의 쿼리를 다를 수 있다. | python manage.py dbshell 를 통해 데이터베이스의 쿼리를 다를 수 있다. | ||
[[분류:2. 장고 설정]] | [[분류:2. 장고 설정]] |
2022년 9월 15일 (목) 14:14 판
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 를 통해 데이터베이스의 쿼리를 다를 수 있다.