部落客接手了公司一個很老的項目,用的是SpringBatch很老的一個版本(2.1.6),由于代碼過于臃腫,沒有使用maven管理,引用jar多,編譯時間長,于是自己想要把其中比較重要的保監資料報送批作業單獨拿出來另起一個項目。
于是決定自己搭建一個springboot工程,同樣使用了SpringBatch,但新搭建的工程用的是 spring-boot-starter-batch 1.5.3.RELEASE。這樣,兩個SpringBatch初始化時自動生成的表都不一樣,兩個工程沒辦法用同一套持久化表。
下面說一下解決辦法:
1. 我在測試庫中把BATCH_開頭的SpringBatch表都做了删除操作,然後在springboot項目中增加以下配置
spring:batch:initialize-schema: always (yml配置,我這裡做了簡寫,了解是這個配置項即可)
正常啟動工程後,在資料庫中就會生成持久化表。
2. 将這些表的建表SQL拷貝出來,然後改下表名,比如字首由 BATCH_ 改為 YBJBTH_,在生産庫中建立這一套表