Spring Boot - Dummy Data 작성

송형근·2024년 10월 13일
0

TIL

목록 보기
42/43
post-thumbnail

프로젝트 진행중 더미데이터가 필요하게 되었음.
DB에 직접 추가해두는 방식과 미리 데이터를 생성해두는 방식 중에 고민을 하다가 DB가 바뀌면 데이터를 또 새로 추가해줘야한다는 부분이 번거로울 것 같아서 data.sql을 작성

application.yaml 설정

  • data.sql을 사용해서 더미 데이터를 넣기 위해 application.yaml에 설정이 필요함
spring:
  profiles:
    default: dev
  application:
    name: product-server
  sql:
    init:
      mode: always
  • spring.sql.init.mode를 always로 설정해서 서버가 실행될 때 data.sql이 실행되도록 설정

data.sql 작성

  • resources 디렉토리 내에 data.sql을 작성하면 됨
CREATE TABLE IF NOT EXISTS TB_CATEGORIES (
     category_code BIGINT PRIMARY KEY,
     category_name VARCHAR(20)
);

INSERT INTO TB_CATEGORIES (category_code, category_name)
SELECT 1000, '식품'
    WHERE NOT EXISTS (SELECT 1 FROM TB_CATEGORIES WHERE category_code = 1000);

INSERT INTO TB_CATEGORIES (category_code, category_name)
SELECT 2000, '전자제품'
    WHERE NOT EXISTS (SELECT 1 FROM TB_CATEGORIES WHERE category_code = 2000);

INSERT INTO TB_CATEGORIES (category_code, category_name)
SELECT 3000, '의류'
    WHERE NOT EXISTS (SELECT 1 FROM TB_CATEGORIES WHERE category_code = 3000);
  • data.sql의 실행 시점이 JPA 실행 이전인지 CREATE TABLE을 하지 않으면, 에러가 발생하게 됨
profile
기록을 남겨보자

0개의 댓글