framework/spring [Spring] 애플리케이션 실행시 DB 테이블 및 데이터 입력 - 스프링 초기 DB 스크립트 실행 스프링 애플리케이션 실행 시 초기 테이블 생성 및 데이터 입력이 필요한 경우가 있다.schema.sql 파일과 data.sql 파일을 작성하여 이를 해결할 수 있다. schema.sql : 테이블 생성 스크립트 data.sql : 데이터 입력 스크립트 스프링은 기본적으로 임베디드 DB(h2)일 때 classpath 위치(/src/main/resources)에서 위 스크립트 파일을 읽어서 DB를 초기화 한다. 스프링 application.yml 파일을 통해 위 설정을 커스텀 하여 사용할 수 있다.아래는 커스텀 한 예시이다. spring: datasource: driver-class-name: org.h2.Driver url: jdbc:h2:mem:testdb username: sa password: h2: console: enabled: true sql: init: mode: always platform: h2 schema-locations: classpath*:db/schema/schema-${spring.sql.init.platform}.sql data-locations: classpath*:db/data/data-${spring.sql.init.platform}.sql spring.sql.init.mode 값에는 always, embedded, never 옵션이 있다. always 옵션은 항상 스크립트를 실행한다. embedded 옵션은 인메모리 DB 일 때에만 스크립트를 실행한다. never 옵션은 스크립트를 실행하지 않는다. spring.sql.init.schema-locations, spring.sql.init.data-locations를 통해 schema.sql, data.sql 스크립트 파일의 위치를 지정할 수 있다. 기본적으로 classpath 루트 위치의 schema.sql과 data.sql 파일을 읽는다. 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기yoo97 개발 블로그 저작자표시 [Spring] 애플리케이션 실행시 DB 테이블 및 데이터 입력 당신이 좋아할만한 콘텐츠 [Spring] Spring REST Docs, Swagger 조합. restdocs-api-spec 2023.01.08 [Spring] Web-Socket, SockJS, STOMP 이론 2023.01.06 [Spring] 마이바티스(MyBatis) 2022.12.11 [Spring] JDBC Template 2022.12.10 댓글 0 + 이전 댓글 더보기