"장고 DB설정"의 두 판 사이의 차이

Pywiki
둘러보기로 가기 검색하러 가기
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
 +
|}
  
mysqlclient를 설치한다.
 
  
settings.py 수정
 
  
DATABASES항목의 내용을 변경해야 한다. 자세한 부분은 파이썬 웹프로그래밍 p.334
 
  
반영하기
 
  
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 연동

기본적인 절차는 다음과 같다.

  1. 연동드라이버 설치
  2. settings.py 수정
  3. DB반영
    python manage.py migrate
  4. 재설정
    처음 만든 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 loaddata db.json

python manage.py migrate



3 DB쿼리 사용하기

python manage.py dbshell 를 통해 데이터베이스의 쿼리를 다를 수 있다.