Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/daggerok/liquibase-r2dbc-spring-boot-starter
This repository demonstrates how 2 implement Liquibase R2DBC Spring Boot starter. Stack: Liquibase R2DBC Spring Boot starter with next technology stack: Liquibase, R2DBC, Spring Boot, Kotlin, Junit Jupiter 5, MySQL, MariaDB, PostgreSQL, MS SQL Server, H2, r2dbc-pool, r2dbc-proxy, Test-containers, Maven, Bash
https://github.com/daggerok/liquibase-r2dbc-spring-boot-starter
frontend-maven-plugin github-actions junit-jupiter kotlin liquibase mariadb maven maven-gpg-plugin maven-resources-plugin mssql mssqlserver mysql nexus-staging-maven-plugin ossrh r2dbc-pool r2dbc-proxy sonatype spring-data-r2dbc testcontainers vuepress
Last synced: 24 days ago
JSON representation
This repository demonstrates how 2 implement Liquibase R2DBC Spring Boot starter. Stack: Liquibase R2DBC Spring Boot starter with next technology stack: Liquibase, R2DBC, Spring Boot, Kotlin, Junit Jupiter 5, MySQL, MariaDB, PostgreSQL, MS SQL Server, H2, r2dbc-pool, r2dbc-proxy, Test-containers, Maven, Bash
- Host: GitHub
- URL: https://github.com/daggerok/liquibase-r2dbc-spring-boot-starter
- Owner: daggerok
- License: mit
- Created: 2022-06-02T22:17:32.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-09-11T05:26:46.000Z (about 1 year ago)
- Last Synced: 2024-09-29T14:21:41.466Z (about 1 month ago)
- Topics: frontend-maven-plugin, github-actions, junit-jupiter, kotlin, liquibase, mariadb, maven, maven-gpg-plugin, maven-resources-plugin, mssql, mssqlserver, mysql, nexus-staging-maven-plugin, ossrh, r2dbc-pool, r2dbc-proxy, sonatype, spring-data-r2dbc, testcontainers, vuepress
- Language: Kotlin
- Homepage: https://daggerok.github.io/liquibase-r2dbc-spring-boot-starter/
- Size: 516 KB
- Stars: 13
- Watchers: 3
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Liquibase R2DBC spring-boot starter [![tests](https://github.com/daggerok/liquibase-r2dbc-spring-boot-starter/actions/workflows/tests.yml/badge.svg)](https://github.com/daggerok/liquibase-r2dbc-spring-boot-starter/actions/workflows/tests.yml) [![pages](https://github.com/daggerok/liquibase-r2dbc-spring-boot-starter/actions/workflows/pages.yaml/badge.svg)](https://daggerok.github.io/liquibase-r2dbc-spring-boot-starter/)
This repository demonstrates how 2 implement Liquibase R2DBC Spring Boot starter to be used in reactive projects with MySQL, MariaDB,
PostgreSQL, MS SQL Server, r2dbc-pool, r2dbc-proxy or H2 database. It's not pure reactive liquibase implementation as you might think, we
are simply transforming R2DBC URL into liquibase compatible in a little spring-boot starter to apply liquibase migrations update
automatically within application runner bean## Support
Java 17, 18, 19, 20 with Spring Boot 3.x[![Maven Central](https://img.shields.io/maven-central/v/io.github.daggerok/liquibase-r2dbc-spring-boot-starter.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22io.github.daggerok%22%20AND%20a:%22liquibase-r2dbc-spring-boot-starter%22)
### Getting started
```xml
io.github.daggerok
liquibase-r2dbc-spring-boot-starter
3.1.3```
or
```kotlin
dependency("io.github.daggerok:liquibase-r2dbc-spring-boot-starter:3.1.3")
```And then use regular Spring Boot + Liquibase setup:
* Create necessary Liquibase migration `src/main/resources/liquibase/master-changelog.xml` file
* In `application.yaml` file add necessary liquibase configuration:
```yaml
spring:
r2dbc:
url: 'r2dbc:mysql://127.0.0.1:3306/database'
username: 'user'
password: 'password'
liquibase:
change-log: classpath*:/liquibase/changelog-master.xml
logging:
level:
io.netty.resolver.dns.DnsServerAddressStreamProviders: off
```
* In `pom.xml` add necessary dependencies related to database going to be used:
* MySQL:
```xml
com.mysql
mysql-connector-j
runtime
dev.miku
r2dbc-mysql
0.8.2.RELEASE
runtime
```
* MariaDB:
```xml
org.mariadb.jdbc
mariadb-java-client
runtime
org.mariadb
r2dbc-mariadb
runtime
io.r2dbc
r2dbc-pool
runtime
```
* PostgreSQL:
```xml
org.postgresql
postgresql
runtime
org.postgresql
r2dbc-postgresql
runtime
```
* H2:
```xml
com.h2database
h2
runtime
io.r2dbc
r2dbc-h2
runtime
```NOTE: If you want to use `*-SNAPSHOT` version, please make sure you have added snapshot maven repository like so
```xml
sonatype-nexus-snapshots
Sonatype OSS Snapshot Repository
https://s01.oss.sonatype.org/content/repositories/snapshots
true
false
```
or
```kotlin
repositories {
maven {
url = uri("https://s01.oss.sonatype.org/content/repositories/snapshots")
}
}
```See: https://s01.oss.sonatype.org/content/repositories/snapshots/io/github/daggerok/
Otherwise, use only released version. See: https://repo1.maven.org/maven2/io/github/daggerok/liquibase-r2dbc-spring-boot-starter/
### Technology Stack
* Liquibase
* R2DBC
* Spring Boot 3.x
* Kotlin
* Junit Jupiter 5
* H2 (file, mem)
* MySQL
* MariaDB
* Postgresql
* MS SQL Server
* R2DBC (pool, proxy)
* Testcontainers
* Maven### Reference documentation
* Checkout [documentation](https://daggerok.github.io/liquibase-r2dbc-spring-boot-starter/) for details
* ALso check [developer guide for contributors](docs/CONTRIBUTING.md)