Django에서 MySQL을 백엔드로 사용하는 공동 데이터베이스를 설정하려면, 크게 다음 3단계를 거친다.


1. MySQL 드라이버 설치

터미널에서 가상환경이 활성화된 상태로 아래 명령어 실행:

pip install mysqlclient


2. settings.py 데이터베이스 설정

# settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',   # MySQL 사용
        'NAME': 'your_database_name',           # 생성해둔 DB 이름
        'USER': 'your_mysql_user',              # MySQL 사용자
        'PASSWORD': 'your_mysql_password',      # 비밀번호
        'HOST': 'localhost',                    # MySQL 호스트
        'PORT': '3306',                         # MySQL 포트
        'OPTIONS': {
            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
            'charset': 'utf8mb4',
        },
    }
}


3. Django 모델 정의

ERD에 맞춰 models.py를 작성합니다. 예를 들어, 앱 이름이 overview 라면 overview/models.py:

## ERD를 적용하여 모델 정의한 부분

from django.db import models

class User(models.Model):
    user_id = models.CharField(max_length=20, primary_key=True)
    nickname = models.CharField(max_length=20)

class Repository(models.Model):
    repo_id = models.AutoField(primary_key=True)
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='repositories')
    repo_content = models.TextField()

class Contribution(models.Model):
    con_id = models.AutoField(primary_key=True)
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='contributions')
    con_content = models.TextField()


4. INSTALLED_APPSoverview 포함 여부 재확인

settings.pyINSTALLED_APPS

    ...
    "overview",
    ...

가 정확히 들어가 있어야 합니다.