본문 바로가기
개발/자바

Spring Boot에서 초기화 SQL(schema.sql, data.sql) 활용

by mabyoungg 2025. 8. 2.

Spring Boot 애플리케이션 시작 시 특정 테이블을 생성하거나 데이터를 초기화해야 할 때가 있다.
Spring Data JPA를 사용하면 엔티티 클래스를 통해 테이블을 자동 생성할 수 있지만, 그렇지 않은 경우에는 직접 SQL 스크립트를 작성해 초기화할 수 있다

schema.sql 파일에는 테이블 생성과 같은 DDL(Data Definition Language) 문장을 작성
data.sql 파일에는 초기 데이터 삽입과 같은 DML(Data Manipulation Language) 문장을 작성

사용 방법
src/main/resources 혹은 클래스패스 루트에 schema.sql과 data.sql 파일을 위치시킵니다.
Spring Boot는 기본적으로 임베디드 데이터베이스(예: H2, HSQLDB 등)에서만 스키마 자동 생성과 초기화를 수행
외부 데이터베이스(MySQL, PostgreSQL 등)를 사용할 경우 Spring Boot 2.5 이상 버전부터는 다음 설정이 필요하다

spring:
  sql:
    init:
      mode: always