Skip to content

로컬 DB 환경 설정

김경미 edited this page Aug 9, 2024 · 11 revisions

1. 개요

  • application-local.yml에 있던 MySQL 관련 변수를 Github Secrets로 분리했기 때문에, 로컬 DB 설정 방식도 변경합니다.
  • MySQL 버전 변경(lts → 8.4.2)을 포함합니다.

요구사항

  • macOS 기준으로 작성되었습니다.
  • 도커가 설치되어있어야 합니다.
  • 기존에 사용중이던 DB가 있다면 Docker Desktop → Containers 에서 찾아 삭제합니다.

2. 환경변수 설정

각자 편한 위치에 code-zap-db-local 파일을 생성합니다.

로컬 DB 관련 환경변수를 저장할 파일입니다.

저는 ~ 위치에 생성했습니다.

$ touch ~/code-zap-db-local

내용은 다음과 같습니다.

export ZAP_MYSQL_CONTAINER_NAME=***
export ZAP_MYSQL_IMAGE=mysql:8.4.2
export ZAP_MYSQL_ROOT_PASSWORD=***
export ZAP_MYSQL_DATABASE=***
export ZAP_MYSQL_HOST_PORT=***

.zshrc 설정

~/.zshrc 파일에 다음의 코드를 추가하고 저장합니다.

source ~/code-zap-db-local

해당 설정을 적용합니다.

source ~/.zshrc

3. 컨테이너 실행

docker run \
	--name ${ZAP_MYSQL_CONTAINER_NAME} \
	-e MYSQL_ROOT_PASSWORD=${ZAP_MYSQL_ROOT_PASSWORD} \
	-e MYSQL_DATABASE=${ZAP_MYSQL_DATABASE} \
	-e TZ=Asia/Seoul \
	-p ${ZAP_MYSQL_HOST_PORT}:3306 \
	-d ${ZAP_MYSQL_IMAGE}

4. application.yml

포트와 비밀번호를 환경변수로 대체합니다.

# application.yml

spring:
  config:
    import: classpath:application-db.yml
# application-db.yml
spring:
  datasource:
    url: jdbc:mysql://localhost:${ZAP_MYSQL_HOST_PORT}/code_zap?serverTimezone=Asia/Seoul
    username: root
    password: ${ZAP_MYSQL_ROOT_PASSWORD}
    driver-class-name: com.mysql.cj.jdbc.Driver
  jpa:
    hibernate:
      ddl-auto: create-drop
    properties:
      hibernate:
        format_sql: true
        show_sql: true

5. 결과

  • docker desktop에 잘 실행되었는지 확인합니다.
Screenshot 2024-07-31 at 10 54 26 AM
  • IntelliJ에서 프로젝트 실행이 성공하는지 확인합니다.
Screenshot 2024-07-31 at 10 57 08 AM

6. 오류 해결

  • IntelliJ를 완전히 종료하고 다시 실행합니다.
  • Docker Container가 running 상태인지 확인합니다.
  • source ~/.zshrc를 실행할 때 에러 메시지가 발생하는지 확인합니다.

⚡️ 코드zap

프로젝트

규칙 및 정책

공통

백엔드

프론트엔드

매뉴얼

백엔드

기술 문서

백엔드

프론트엔드

회의록


Clone this wiki locally