Backend/Spring Boot & JPA
[Spring Boot] `[DB].BATCH_JOB_INSTANCE` doesn't exist`
나죽못고나강뿐
2024. 7. 10. 13:14
정말 단순하기 그지 없는 트러블 슈팅이라서 서식 전부 생략하고 작성.
Batch를 실행시키기 위해선 몇 가지 테이블이 필요하다.
그리고 위 테이블을 직접 만들기 귀찮다면, 원래는 application.yml에 다음과 같은 설정을 추가해줬으면 됐었다.
spring.batch.jdbc.initalize-schema=always
그러나 위 옵션을 제공했음에도 똑같은 에러가 계속 반복해서 발생했고, DB를 확인해봤지만 역시나 테이블이 생성되지 않고 있었다.
아니나 다를까 Spring Boot 3.X 부터는 자동으로 생성해주지 않는다고 한다.
그렇다고 해서 수동 설정이 그렇게 어렵지도 않다.
org.springframework.batch.core 모듈 하위에는 여러 SQL 파일들이 준비되어 있다.
프로젝트에서 사용하는 DB의 sql을 찾아서 테이블을 생성해주면 된다.
참고로 배치 버전 별로 쿼리가 조금씩 달라질 수도 있는 듯 하다.
아무 생각없이 인터넷에 있는 거 긁었다가 컬럼 미싱 에러가 떠서 다시 했다. ^^...
시간 없어서 빠르게 공식 문서 대충 읽고 넘어갔더니 된통 당하는 중.