https://www.mysql.com/downloads/
Django에서 sqlite3 대신 mysql을 사용하는 이유
- 확장성 : 많은 양의 데이터를 처리할 수 있어 대규모 프로젝트에 적합하다
- 보안 : 사용자 인증, 권한 관리 등 다양한 보안 기능을 제공한다
- 데이터베이스 관리 : 데이터베이스의 스키마, 인덱스, 관계 등 다양한 관리 도구를 제공한다
- 호환성 : 다양한 운영체제에서 동작할 수 있으며, 다양한 프로그래밍 언어와의 호환성이 높다
먼저, 프로젝트 가상환경에서 mysqlclient 설치!
pip install mysqlclient
기존 settings.py의 DATABASES:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
저기에 바로 바꿔넣어도 되지만 .gitignore에 추가를 위해 my_settings.py를 따로 생성해 주었다
my_settings.py:
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django_museum', # 연동할 mysql db 이름
'USER': 'root', # db 접속 계정명
'PASSWORD': 'password', # 해당 계정 비밀번호
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
나머지는 따로 설정하지 않았다면 그대로 적으면 된다
저기서 계정 비밀번호 중요!!!!! 저거 뭐로 돼있는지 몰라서 한참을 헤맸다
settings.py:
import my_settings
DATABASES = my_settings.DATABASES
MySQL에서 할 일
1. create database django_museum character set utf8mb4 collate utf8mb4_general_ci;
2. use django_museum;
3. show tables;
위 세줄 각 명령어 실행. 실행은 ctrl + Enter를 입력하면 된다
SELECT * FROM user_user; # db 보기
DROP DATABASE django_museum; # db 지우기
vscode로 돌아가 python manage.py migrate를 하고
MySQL로 돌아와 show tables;를 하면 테이블이 생성된 것을 볼 수 있다!
'Django' 카테고리의 다른 글
drf swagger 문서화 (1) | 2023.05.29 |
---|---|
Django admin 페이지 커스텀하기 (1) | 2023.05.23 |
DRF BooleanField (2) | 2023.04.25 |
POETRY 가상환경 설정하기 (8) | 2023.04.24 |
파이썬 장고 실무 심화 5주차_테스트코드 TDD (1) | 2023.04.21 |