원래 기본으로 sqlite3를 사용
settings.py
DATABASES = {
"default": {
"ENGINE": "django.db.backends.sqlite3",
'NAME': str(BASE_DIR / 'db.sqlite3'),
}
}
(배포할때는 rds사용! 지금은 그냥 mysql이랑 연결해서 모델(table)생기는거 보려고 로컬의 mysql로 해보는것..)
이걸 mysql로 바꾸려면
mysql에서
create database item_is character set utf8mb4 collate utf8mb4_general_ci; # item_is DB생성
use item_is; # item_is DB 선택
show tables; # DB의 테이블보기
$ pip install mysqlclient
$ pip install pymysql
settings.py
import pymysql
pymysql.install_as_MySQLdb()
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'item_is', # DB이름
'USER': 'root', # DB 유저 아이디
'PASSWORD': '[비밀번호]', # 비밀번호
'HOST': 'localhost', # 또는 자신이 설정한 호스트
'PORT': '3306', # db가 연결된 포트(여기서는 기본 포트)
}
}
python manage.py makemigrations
python manage.py migrate
python manage.py runserver
까지 해준 뒤 다시 mysql에서 테이블 보면 내가 작성한 모델이 생성되어있다.
show tables;

근데 배포할때도 내 mysql을 쓸건 아니잖아
rds에서 데이터베이스 만들어주고
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '[스키마 이름]',
'USER': '[유저명]',
'PASSWORD': '[패스워드]',
'HOST': '[엔드포인트]',
'PORT': '3306',
}
}
으로 연결해주면 된다!
+)
로컬 mysql인 경우와 rds인 경우의 database코드를 ci/cd에서는 settings안의 dev.py와 prod.py로 분리한다.