wisheasy project (1) - ERDcloud로 DB 만들기

현재 개발 환경

이 프로젝트는 Django 기반 백엔드 서버로 구성되어 있으며, 개발과 배포 환경을 명확히 분리해 관리하고 있다.

아래는 전체적인 개발 구조와 환경 설정 개요이다.

  • 사용 기술 스택
    • Backend Framework : Django
    • Database :
      • 개발(local) 환경: SQLite (db.sqlite3)
      • 운영(prod) 환경: MySQL
    • 배포 환경 : AWS EC2 (Ubuntu 기반)
    • 환경 변수 관리 : .env 파일 (비공개)
    • 버전 관리 : Git + GitHub
    • CI/CD : GitHub Actions (Ruff 자동 린트 및 포맷 적용)
    • 운영 서버 실행 : Gunicorn + Nginx 조합
  • 프로젝트 디렉토리 구조
    project-wisheasy/
    ├── apps/                         # Django 앱 폴더
    │   ├── accounts/                 # 사용자 인증 관련 앱
    │   ├── stations/                 # 역 정보, 노선 데이터 관리 앱     
    │   ├── journeys/                 # 경로 탐색 관련 앱
    │   └── common/                   # 공용 유틸, 상수 등
    │
    ├── config/                       # Django 전역 설정
    │   ├── settings/
    │   │   ├── base.py               # 공통 설정
    │   │   ├── local.py              # 개발 환경용 설정 (SQLite)
    │   │   ├── prod.py               # 운영 환경용 설정 (MySQL)
    │   │   └── __init__.py
    │   ├── urls.py
    │   ├── wsgi.py
    │   └── asgi.py
    │
    ├── data_create/                  # 기타 정적 CSV/DB 초기 데이터
    ├── manage.py                     # Django 실행 스크립트
    ├── .env                          # 환경 변수 (비공개)
    ├── .gitignore
    └── requirements.txt              # Python 패키지 목록
    

전체 과정

1. ERDcloud로 ERD 작성하기

  • ERD 설계도 최종본 ERD

2. ERDcloud Export하기

  • 좌측 하단 Export 버튼 클릭
    Export
  • 하얀색으로 전부 체크하고 Download SQL 버튼 눌러서 코드 다운받기 Download SQL

3. 원하는 appsmodels.py에 export한 SQL 코드 복사 붙여넣기

  • 해당 프로젝트는 apps/journeys/models.py 에 추가

4. makemigrations & migrate 하면 완료

python manage.py makemigrations --settings=config.settings.local
python manage.py migrate --settings=config.settings.local
  • 서버에 올릴 때는 .local.prod로 변경해주면 된다.
  • 보통의 팀원들의 상황에서는 .local로 테스트 해주면 된다.