카테고리 없음
[Spring Boot 오류] HikariPool-1 - Exception during pool initialization. Could not connect to address Unknown database 'database name'
happyst
2024. 6. 11. 10:55
Spring Boot 프로젝트의 application.yml 파일을 아래와 같이 구성하고, 어플리케이션을 실행시 오류가 발생함
application.yml
spring:
profiles:
active: local # default
group:
local:
- common
prod:
- common
---
spring:
config:
activate:
on-profile: common
# ...
---
spring:
config:
activate:
on-profile: local
datasource:
driver-class-name: org.mariadb.jdbc.Driver
url: jdbc:mariadb://localhost:3307/pharmacy-recommendation
username: ${SPRING_DATASOURCE_USERNAME}
password: ${SPRING_DATASOURCE_PASSWORD}
redis:
host: localhost
port: 6379
jpa:
hibernate:
ddl-auto: create # 운영중인 테이블을 drop할 수 있기 때문에 실제 구동 환경에서는 쓰면 안된다
show-sql: true
---
spring:
config:
activate:
on-profile: prod
오류 메시지
spring.jpa.hibernate.ddl-auto: create 설정은 데이터베이스가 이미 존재할 때 테이블을 생성하거나 초기화하는 역할을 하지만, 데이터베이스 자체를 생성하지 않는다.
따라서 MariaDB에 데이터베이스를 직접 생성 후, 어플리케이션을 실행하면 잘 동작한다.
MariaDB 데이터베이스 생성
어플리케이션 재실행
hibernate.ddl-auto
Entity 설정을 참고하여 애플리케이션 실행시점에 Hibernate에서 자동으로 DDL을 생성하여, 필요한 Database의 Table 설정들을 자동으로 수행해주는 기능
create | 애플리케이션 실행 시점에 기존 테이블을 모두 삭제(DROP) 후, 다시 생성(CREATE)함 |
create-drop | 애플리케이션 실행 시점에 기존 테이블을 모두 삭제(DROP) 후, 다시 생성 후, 애플리케이션 종료 시점에 테이블 삭제(DROP) |
update | 주어진 entity 구조에 따라서 데이터베이스를 변경 (변경사항 추가만 가능하고 삭제는 불가능) |
validate | 애플리케이션 실행 시점에 entity와 테이블이 정상적으로 매핑되었는지 확인 |
none | 사용하지 않음 |