인프런 커뮤니티 질문&답변

Architect님의 프로필 이미지
Architect

작성한 질문수

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

data.sql 자동 저장이 되지 않습니다

작성

·

320

0

자동 저장이 되지 않아 계속 수동으로 INSERT를 해주었는데요.

수동으로 잘 수행이 됐으니 INSERT 문에는 문제가 없을 것 같고(세미콜론도 넣었습니다.),

yml 파일의 설정이 뭔가 잘못된 걸까요?

의심가는 부분이 있으실지요?

스프링부트 버전은 2.5.5입니다.

H2도 mem.testdb가 잘 되지 않아 이렇게 저렇게 해보다가 설정파일은 다음과 같이 되었습니다.

spring:
  application:
    name: catalog-service
  messages:
    basename: messages
  # JPA
  jpa:
    hibernate:
      ddl-auto: create-drop
    show-sql: true
    generate-ddl: true
    defer-datasource-initialization: true
#  h2:
#    console:
#      enabled: true
#      settings:
#        web-allow-others: true
#      path: /h2-console
  datasource:
#    url: jdbc:h2:tcp://localhost:8082/~/testdb
    url: jdbc:h2:~/testdb
    username: sa
    password:
    driver-class-name: org.h2.Driver

답변 1

0

Architect님의 프로필 이미지
Architect
질문자

자문자답입니다.

인메모리와 아닌 경우를 다르게 취급할 거라고는 상상도 못했네요.

https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto.data-initialization

By default, SQL database initialization is only performed when using an embedded in-memory database. To always initialize an SQL database, irrespective of its type, set spring.sql.init.mode to always. Similarly, to disable initialization, set spring.sql.init.mode to never.

Architect님의 프로필 이미지
Architect

작성한 질문수

질문하기