[Spring Batch] 스프링 배치 Table 'xxx.BATCH_JOB_INSTANCE' doesn't exist 오류 해결 방법

류넹·2024년 9월 2일
1

Trouble Shooting

목록 보기
12/18

⚠️ 오류

  • Table 'xxx.BATCH_JOB_INSTANCE' doesn't exist


🔍 원인

BATCH를 실행시키기 위해서는 Spring Batch 정보를 저장하는 몇가지 테이블이 필요하다.
원래는 application.yml에 spring.batch.jdbc.initalize-schema=always 설정을 추가하면
자동으로 BATCH 테이블이 생성되어야 하는데, Spring Boot 3.X 버전부터는 자동으로 생성해주지 않는다고 한다.




💡 해결 방법

  • 수동으로 SpringBatch 라이브러리 내에 있는 schema-[데이터 타입].sql을 실행한다.
  • External Libraries > org.springframework.batch.core 모듈 하위에 있는
    schema-[프로젝트에서 사용하는 DB]-sql 파일을 열어서 실행해주면 된다!
  • 나는 MySQL 사용중이라 schema-mysql.sql 파일 열어서 실행했다.



✅ 결과

  • 매우 매우 잘 실행되고 DB에 Insert까지 정상적으로 완료된 것을 확인할 수 있다.
    > TMI : 배치 처음 작업해본 건데 안되는 줄 알고 긴장하다가 감격.. 정말 감격




References

profile
학습용 커스터마이징 간단 개발자 사전

0개의 댓글