Spring 어플리케이션 빌드 시 초기화 데이터 구축용 SQL 실행

TopOfTheHead·2025년 12월 26일

Spring Boot

목록 보기
25/27

application.yml 설정

spring:
  sql:
    init:
      mode: always
  jpa:
    defer-datasource-initialization: true

spring:sql:init:mode: always : 스프링 어플리케이션 구동 시 /src/main/resources에 정의된 schema.sqldata.sql이 자동으로 실행하도록 설정

spring: jpa: defer-datasource-initialization: true :
hibernate에 의해 Entity로 정의된 테이블들을 초기화한 후 schema.sql, data.sql를 실행하도록 설정

/src/main/resources에서 sql파일 작성
。실행 순서 : schema.sql -> data.sql

  • schema.sql :
    Application 초기화 시 초기 정의될 DB Schema를 정의하는 파일.
    Schema : DB 구조로서 Table, View, Index등의 객체를 정의.

  • data.sql :
    Application 초기화 시 정의된 DB Table에 삽입할 초기 데이터를 정의하는 파일
     # schema.sql
drop table if exists member;
create table MEMBER(
   loginId varchar(255) not null primary key ,
   password varchar(255) not null ,
   name varchar(255) not null ,
   birthday date not null
);
insert into MEMBER(loginId, password, name, birthday) values ('1','wjd1','일정수',CURRENT_DATE),
('2','wjd2','이정수', CURRENT_DATE),
('3','wjd3','삼정수', CURRENT_DATE);
profile
공부기록 블로그

0개의 댓글