ACHO.pk devlog

[멋쟁이사자처럼10기] Django 영화 리뷰 사이트(외부 db 연동하기) 본문

멋쟁이사자처럼

[멋쟁이사자처럼10기] Django 영화 리뷰 사이트(외부 db 연동하기)

Acho 2022. 7. 15. 20:56

 

외부 db 연동하기 ( maria DB )

 

  • 설치가 되었는 지 확인하기 위해 'mysql client' 들어가기

 

HeildSQL (자동으로 설치됨)

  • 데이터베이스 테이블을 볼 수 있다.
  • 기본적인 데이터베이스를 확인할 수 있다.


외부 데이터베이스를 django와 연동하기 위해서는 'mysqlclient' 를 설치해야한다.

pip install mysqlclient

 

myproject/settings.py

#기존 설정
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

#변경 후 설정
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mysql',
        'USER' : 'root',
        'PASSWORD' : '본인의 비밀번호',
        'HOST' : '127.0.0.1',
        'PORT' : '3306',
    }
}

 

myproject/my_settings.py

  • DATABASE와 SECRETKEY는 유출되면 안된다.(특히 Github에 올릴 때)

setting.py

from .my_settings import mySECRET_KEY, myDATABASES

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = mySECRET_KEY

# Database
# https://docs.djangoproject.com/en/3.1/ref/settings/#databases
DATABASES = myDATABASES

 

my_settings.py

mySECRET_KEY = 'z7_loqfmp)_8+f*=5dp@rk6o+wy$8u1&7%%x!&_i6oi%g6mi_1'


myDATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mysql',
        'USER' : 'root',
        'PASSWORD' : '본인의 비밀번호',
        'HOST' : '127.0.0.1',
        'PORT' : '3306',
    }
}

 

데이터베이스와 관련해서 새로 변경된 내용이 있으므로 migrate로 데이터베이스에 반영한다.

 python manage.py makemigrations
 
 python manage.py migrate

 

우리가 여태껏 작성한 글이 없어진 것을 확인할 수 있다. 이는 우리가 이전에 db.sqlite3을 이용했기 때문이다.

 

Comments