팀플) DB 연결 이슈

BlackBird·2024년 10월 6일

Team Project

목록 보기
8/66

DB의 환경은 제각각 다를 수 있다. 우선 나의 경우엔 맥북환경이라서 DB에 무조건 비밀번호를 입력을 해야되는 상황이고 팀원은 윈도우 환경이고, 또 약간의 차이가 있을 수 있다는 것을 간과했다.

때문에 이 문제를 해결하기 위해서 properties파일을 분리, 임포트 하는 방식을 사용해서 해결했다.

그래서 그에 관한 가이드를 문서화해서 올린다.

DB 설정 분리 및 관리 가이드

이 프로젝트에서는 DB 설정을 다른 설정과 분리하여 application-DB.properties 파일로 관리합니다. 이렇게 하면 각 팀원이 자신의 로컬 환경에 맞게 DB 설정을 쉽게 변경할 수 있으며, 필요에 따라 로컬에서만 관리할 수도 있습니다.

1. DB 설정 파일 분리

DB 설정을 기존의 application.properties 파일에서 분리하여 application-DB.properties 파일에 따로 관리합니다.


1-1. application.properties 파일

application.properties 파일에는 DB 설정을 제외한 다른 모든 설정을 유지합니다. DB 설정은 application-DB.properties 파일에서 가져오도록 설정합니다.

DB 설정 파일을 가져옴

# 기타 설정

spring.config.import=classpath:application-DB.properties

# 기타 설정

1-2. application-DB.properties 파일

DB 연결 설정application-DB.properties 파일에 따로 관리됩니다. 각 팀원은 자신의 로컬 환경에 맞게 이 파일을 수정하면 됩니다.

spring.datasource.url=jdbc:mysql://localhost:3306/2024_10_ASTRONEER_TEAMPROJECT
spring.datasource.username=root
spring.datasource.password=213144
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

⚠️ 중요: 만약 팀원별로 DB 설정이 다르다면, 이 파일을 Git에 올리지 않고 로컬에서만 관리할 수 있습니다.


2. DB 설정 파일을 로컬에서만 관리하기 (.gitignore 사용)

만약 각 팀원이 다른 DB 설정을 사용해야 한다면, 로컬 DB 설정 파일.gitignore에 추가하여 Git에서 제외할 수 있습니다.

# 로컬 DB 설정 파일 제외
/src/main/resources/application-DB.properties

이렇게 하면 각 팀원이 자신의 로컬 환경에 맞는 DB 설정 파일을 유지하면서, 다른 팀원의 설정과 충돌하지 않게 됩니다.


3. 팀원별로 로컬 DB 설정 파일을 관리하는 방법

각 팀원이 자신의 로컬 환경에 맞는 DB 설정을 사용해야 하는 경우, application-DB.properties 파일을 각자 수정하여 사용합니다. 예를 들어, 한 팀원이 PostgreSQL을 사용하고, 다른 팀원이 MySQL을 사용한다면, 각각 자신의 파일을 수정하면 됩니다.

예를 들어)

팀원 A (PostgreSQL 사용)

spring.datasource.url=jdbc:postgresql://localhost:5432/local_postgres_db
spring.datasource.username=postgres_user
spring.datasource.password=postgres_password
spring.datasource.driver-class-name=org.postgresql.Driver

팀원 B (MySQL 사용)

spring.datasource.url=jdbc:mysql://localhost:3306/local_mysql_db
spring.datasource.username=mysql_user
spring.datasource.password=mysql_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

4. 요약

  • DB 설정 파일application-DB.properties로 분리하여 관리합니다.
  • spring.config.import를 사용하여 DB 설정 파일을 application.properties에서 불러옵니다.
  • 로컬 DB 설정 파일은 Git에서 제외하여, 각 팀원이 자신의 로컬 환경에 맞게 설정할 수 있습니다.
  • 팀원들이 서로 다른 DB 설정을 사용할 경우, 로컬 DB 설정 파일을 각각 관리합니다.

이렇게 하면 프로젝트에서 DB 설정을 깔끔하게 분리하여 관리할 수 있으며, 팀원들이 각자 로컬 환경에 맞는 DB 설정을 사용할 수 있습니다!

profile
한영신의 벨로그입니다.

0개의 댓글