DB의 환경은 제각각 다를 수 있다. 우선 나의 경우엔 맥북환경이라서 DB에 무조건 비밀번호를 입력을 해야되는 상황이고 팀원은 윈도우 환경이고, 또 약간의 차이가 있을 수 있다는 것을 간과했다.
때문에 이 문제를 해결하기 위해서 properties파일을 분리, 임포트 하는 방식을 사용해서 해결했다.
그래서 그에 관한 가이드를 문서화해서 올린다.
이 프로젝트에서는 DB 설정을 다른 설정과 분리하여 application-DB.properties 파일로 관리합니다. 이렇게 하면 각 팀원이 자신의 로컬 환경에 맞게 DB 설정을 쉽게 변경할 수 있으며, 필요에 따라 로컬에서만 관리할 수도 있습니다.
DB 설정을 기존의 application.properties 파일에서 분리하여 application-DB.properties 파일에 따로 관리합니다.
application.properties 파일application.properties 파일에는 DB 설정을 제외한 다른 모든 설정을 유지합니다. DB 설정은 application-DB.properties 파일에서 가져오도록 설정합니다.
# 기타 설정
spring.config.import=classpath:application-DB.properties
# 기타 설정
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에 올리지 않고 로컬에서만 관리할 수 있습니다.
.gitignore 사용)만약 각 팀원이 다른 DB 설정을 사용해야 한다면, 로컬 DB 설정 파일을 .gitignore에 추가하여 Git에서 제외할 수 있습니다.
# 로컬 DB 설정 파일 제외
/src/main/resources/application-DB.properties
이렇게 하면 각 팀원이 자신의 로컬 환경에 맞는 DB 설정 파일을 유지하면서, 다른 팀원의 설정과 충돌하지 않게 됩니다.
각 팀원이 자신의 로컬 환경에 맞는 DB 설정을 사용해야 하는 경우, application-DB.properties 파일을 각자 수정하여 사용합니다. 예를 들어, 한 팀원이 PostgreSQL을 사용하고, 다른 팀원이 MySQL을 사용한다면, 각각 자신의 파일을 수정하면 됩니다.
예를 들어)
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
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
application-DB.properties로 분리하여 관리합니다.spring.config.import를 사용하여 DB 설정 파일을 application.properties에서 불러옵니다.이렇게 하면 프로젝트에서 DB 설정을 깔끔하게 분리하여 관리할 수 있으며, 팀원들이 각자 로컬 환경에 맞는 DB 설정을 사용할 수 있습니다!