Skip to content
This repository was archived by the owner on Aug 9, 2025. It is now read-only.

Commit 5baccf1

Browse files
committed
fix: load r2dbc config and schema.sql first before liquibase
remove username and password
1 parent fa4eef3 commit 5baccf1

File tree

4 files changed

+14
-12
lines changed

4 files changed

+14
-12
lines changed

bootstrap-nonblocking/src/main/resources/application.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ spring:
44
enabled: false
55
r2dbc:
66
url: 'r2dbc:h2:mem:///h2database'
7-
username: 'h2user'
8-
password: 'h2password'
97
properties:
108
Mode: PostgreSQL
119
MULTI_THREADED: TRUE

bootstrap-nonblocking/src/test/resources/application-test.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
spring:
22
r2dbc:
33
url: 'r2dbc:h2:mem:///h2database'
4-
username: 'h2user'
5-
password: 'h2password'
64
properties:
75
Mode: PostgreSQL
86
MULTI_THREADED: TRUE

r2dbc-adapter/src/main/kotlin/packagename/repository/config/R2dbcAdapterConfig.kt

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
package packagename.repository.config
22

33
import io.r2dbc.spi.ConnectionFactory
4+
import org.springframework.beans.factory.annotation.Qualifier
45
import org.springframework.boot.autoconfigure.domain.EntityScan
6+
import org.springframework.boot.autoconfigure.r2dbc.R2dbcProperties
7+
import org.springframework.boot.r2dbc.ConnectionFactoryBuilder
58
import org.springframework.context.annotation.Bean
69
import org.springframework.context.annotation.Configuration
10+
import org.springframework.context.annotation.Primary
11+
import org.springframework.core.annotation.Order
712
import org.springframework.core.io.ClassPathResource
813
import org.springframework.data.r2dbc.repository.config.EnableR2dbcRepositories
914
import org.springframework.r2dbc.connection.init.CompositeDatabasePopulator
@@ -24,8 +29,16 @@ class R2dbcAdapterConfig {
2429
return ExampleRepository(exampleDao)
2530
}
2631

32+
@Bean("myConnectionFactory")
33+
@Primary
34+
fun connectionFactory(r2dbcProperties: R2dbcProperties): ConnectionFactory =
35+
ConnectionFactoryBuilder
36+
.withUrl("r2dbc:h2:mem:///h2database?options=DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE")
37+
.build()
38+
2739
@Bean
28-
fun initializer(connectionFactory: ConnectionFactory): ConnectionFactoryInitializer {
40+
@Order(0) // to make sure this initializer runs first before liquibase
41+
fun initializer(@Qualifier("myConnectionFactory") connectionFactory: ConnectionFactory): ConnectionFactoryInitializer {
2942
val initializer = ConnectionFactoryInitializer()
3043
initializer.setConnectionFactory(connectionFactory)
3144
val populator = CompositeDatabasePopulator()

r2dbc-adapter/src/test/resources/application-test.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
11
spring:
22
r2dbc:
33
url: 'r2dbc:h2:mem:///h2database'
4-
username: 'h2user'
5-
password: 'h2password'
6-
initialization-mode: always
7-
properties:
8-
Mode: PostgreSQL
9-
MULTI_THREADED: TRUE
10-
DB_CLOSE_ON_EXIT: FALSE
114
liquibase:
125
change-log: classpath:/db/changelog/db.changelog-master.yaml
136
liquibase-schema: LIQUIBASE

0 commit comments

Comments
 (0)