[SpringBoot] 스프링 부트 data.sql이 실행되지 않을 때 (data.sql not working)

2023. 12. 24. 13:24·Framework/SpringBoot

문제 상황

main/resources/data.sql 에 insert 쿼리를 작성하였는데, api를 테스트해보니 data.sql에 있는 쿼리가 적용되지 않았습니다.

 

data.sql

INSERT INTO users (name, id, password, ...) VALUES (...);
INSERT INTO users (name, id, password, ...) VALUES (...);
-- 이하 생략 --

 

application.properties

spring.jpa.defer-datasource-initialization=true
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/데이터베이스
spring.datasource.username=root
spring.datasource.password=데이터베이스비밀번호
spring.jpa.hibernate.ddl-auto=create


해결 방법

application.properties에 아래 코드를 추가하니 data.sql이 정상 작동 하였습니다.

spring.sql.init.mode=always

 

properties파일이 아닌 yml 파일인 경우 다음 코드를 추가해주세요.

spring:
	jpa:
    	  defer-datasource-initialization: true

 

✨ 어떻게 해결된 것일까?

spring.sql.init.mode=always

 

위 코드는 Spring Boot 애플리케이션이 실행될 떄 항상 데이터에비스 초기화 스크립트를 실행하도록 지시하는 설정입니다. 이 설정의 속성을 always로 하여 애플리케이션을 시작할 때마다 data.sql의 내용으로 데이터베이스를 초기화합니다.

 

개발 환경이나 테스트 시에 데이터베이스를 초기화하는 데 유용할 수 있습니다만 프로덕션 환경에서는 초기화 스크립트를 막 실행하지 않도록 주의해야합니다. 😁

'Framework > SpringBoot' 카테고리의 다른 글

[SpringBoot] 데이터베이스 스키마 자동 생성 옵션에 대해 알아보자 / spring.jpa.hibernate.ddl-auto  (0) 2023.12.26
[SpringBoot] created_at 처럼 엔티티 생성할 때 현재 날짜를 디폴트 값으로 지정하기 + 수정일 / Spring Data JPA automatic date creation  (0) 2023.12.24
[Spring] Rest Template란?  (0) 2023.09.09
[Spring] Spring에서 깃허브 OAuth 로그인하기  (0) 2023.09.01
[SpringBoot] @OneToMany, @ManyToOne, @ManyToMany 연관 관계 매핑, @JoinTable  (0) 2023.08.30
'Framework/SpringBoot' 카테고리의 다른 글
  • [SpringBoot] 데이터베이스 스키마 자동 생성 옵션에 대해 알아보자 / spring.jpa.hibernate.ddl-auto
  • [SpringBoot] created_at 처럼 엔티티 생성할 때 현재 날짜를 디폴트 값으로 지정하기 + 수정일 / Spring Data JPA automatic date creation
  • [Spring] Rest Template란?
  • [Spring] Spring에서 깃허브 OAuth 로그인하기
hurlud
hurlud
나와 같은 궁금증을 가진 사람들을 위해 오늘도! 🐥
  • hurlud
    주독야독
    hurlud
  • 전체
    오늘
    어제
  • 최근 글

    • ALL (106)
      • CS (13)
      • Linux (2)
      • Deploy (7)
        • AWS (6)
        • Docker (1)
      • IDE (13)
        • IntelliJ (5)
        • Android Studio (8)
      • DB (10)
        • MySQL (6)
        • MongoDB (4)
      • Programming Language (20)
        • JavaScript (10)
        • Java (8)
        • Python (2)
      • Framework (32)
        • Node.js (6)
        • SpringBoot (17)
        • React (6)
        • NestJS (2)
      • Git | Github (4)
      • ETC (5)
      • Akka (0)
  • 링크

    • 깃허브
  • hELLO· Designed By정상우.v4.10.0
hurlud
[SpringBoot] 스프링 부트 data.sql이 실행되지 않을 때 (data.sql not working)
상단으로

티스토리툴바