From 6cbdc36c710bcaa06612650b45cbd1ece667ebf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=A3=BC=EC=9D=BC?= Date: Sat, 23 May 2026 11:24:12 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20GconeSourceConfig=20=EB=B0=B0=EC=B9=98?= =?UTF-8?q?=20=EC=8A=A4=ED=82=A4=EB=A7=88=20=EC=B4=88=EA=B8=B0=ED=99=94=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20(BATCH=5FJOB=5FSEQ=20=EC=8B=9C=ED=80=80?= =?UTF-8?q?=EC=8A=A4=20=ED=85=8C=EC=9D=B4=EB=B8=94=20=EC=9E=90=EB=8F=99=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - batchSchemaInitializer 빈 추가: schema-drop-mysql.sql + schema-mysql.sql 실행 - jobRepository에 @DependsOn(batchSchemaInitializer) 추가하여 초기화 순서 보장 - spring.batch.jdbc.initialize-schema 미적용 우회 (커스텀 JobRepository 빈 충돌) --- .../common/config/GconeSourceConfig.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/main/java/com/wb/domainserver/common/config/GconeSourceConfig.java b/src/main/java/com/wb/domainserver/common/config/GconeSourceConfig.java index 1ac6914..989c16c 100644 --- a/src/main/java/com/wb/domainserver/common/config/GconeSourceConfig.java +++ b/src/main/java/com/wb/domainserver/common/config/GconeSourceConfig.java @@ -10,9 +10,13 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.jdbc.DataSourceBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.DependsOn; import org.springframework.context.annotation.Primary; +import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.jdbc.datasource.DataSourceTransactionManager; +import org.springframework.jdbc.datasource.init.DataSourceInitializer; +import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.EnableTransactionManagement; @@ -61,7 +65,21 @@ public class GconeSourceConfig { return new DataSourceTransactionManager(gconeDataSource); } + // Spring Batch 스키마 초기화 (BATCH_JOB_SEQ 등 시퀀스 테이블 생성) + @Bean(name = "batchSchemaInitializer") + public DataSourceInitializer batchSchemaInitializer(@Qualifier("gconeDataSource") DataSource gconeDataSource) { + ResourceDatabasePopulator populator = new ResourceDatabasePopulator(); + populator.addScript(new ClassPathResource("org/springframework/batch/core/schema-drop-mysql.sql")); + populator.addScript(new ClassPathResource("org/springframework/batch/core/schema-mysql.sql")); + populator.setContinueOnError(true); + DataSourceInitializer initializer = new DataSourceInitializer(); + initializer.setDataSource(gconeDataSource); + initializer.setDatabasePopulator(populator); + return initializer; + } + @Bean + @DependsOn("batchSchemaInitializer") public JobRepository jobRepository(@Qualifier("gconeTransactionManager") PlatformTransactionManager transactionManager, @Qualifier("gconeDataSource") DataSource gconeDataSource) throws Exception { JobRepositoryFactoryBean factory = new JobRepositoryFactoryBean(); factory.setDataSource(gconeDataSource);