본문 바로가기
OpenSource/Spring Batch

springboot 2.x 이상 springbatch table문제 해결 방법!

by 태하팍 2020. 8. 13.
반응형

id 'org.springframework.boot' version '2.3.2.RELEASE'를 사용 중!

그리고 springbatch개발을 하고 있다!

 

그런데? 스프링배치를 수행하면서 아래의 오류 발생~~!

bad SQL grammar [SELECT JOB_INSTANCE_ID, JOB_NAME from BATCH_JOB_INSTANCE 
where JOB_NAME = ? and JOB_KEY = ?]; 
nested exception is java.sql.SQLSyntaxErrorException: 
Table 'BATCH_JOB_INSTANCE' doesn't exist

스프링배치는 수행관련 내용들을 메타데이터로 남겨서 테이블에 저장하는데

해당 테이블 스키마를 생성하지 않아서 문제가 되었다.

https://docs.spring.io/spring-boot/docs/2.0.0.M7/reference/htmlsingle/#howto-initialize-a-spring-batch-database

위와 같은 내용이 있었다. 스프링부트 2.x 이상일 경우 위와같은 내용을 

application.yaml 또는 application.properties에 작성하면 된다.

저자의 경우 application.yaml에 아래와 같이 작성하였고

spring.batch.initialize-schema: always

그리고나서 스프링배치를 돌리면??

아래와 같이 테이블이 자동적으로 생성되는것을 알 수 있다. 

스프링배치 테이블들

 

반응형