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'개발 > 자바' 카테고리의 다른 글
| Spring JDBC에서 새로운 엔티티를 insert하고, 자동 생성된 ID(PK) 받기 (0) | 2025.08.03 |
|---|---|
| 구버전 프로젝트, 최신 스프링 부트로 올리니 Validation 관련 오류 발생 (3) | 2025.07.29 |
| [JPA] deleteById()로 없는 엔티티 삭제 시 예외가 발생하지 않는 이유와 정책 변화 (1) | 2025.06.06 |
| 추상 클래스, 인터페이스 (0) | 2023.10.30 |
| IntelliJ JUnit @DisplayName 한글 깨짐 에러 (0) | 2023.06.24 |