-
[Spring Boot 오류] HikariPool-1 - Exception during pool initialization. Could not connect to address Unknown database 'database name'카테고리 없음 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 사용하지 않음