Java Migration Tool Spring Boot Integration

This module integrates the Java Migration Tool library into Spring Boot and eases the usage.

License

License

Categories

Categories

Java Languages Spring Boot Container Microservices
GroupId

GroupId

io.github.yashchenkon
ArtifactId

ArtifactId

java-migration-tool-spring-boot-starter
Last Version

Last Version

0.0.8
Release Date

Release Date

Type

Type

jar
Description

Description

Java Migration Tool Spring Boot Integration
This module integrates the Java Migration Tool library into Spring Boot and eases the usage.
Project URL

Project URL

https://github.com/YashchenkoN/java-migration-tool

Download java-migration-tool-spring-boot-starter

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.yashchenkon/java-migration-tool-spring-boot-starter/ -->
<dependency>
    <groupId>io.github.yashchenkon</groupId>
    <artifactId>java-migration-tool-spring-boot-starter</artifactId>
    <version>0.0.8</version>
</dependency>
// https://jarcasting.com/artifacts/io.github.yashchenkon/java-migration-tool-spring-boot-starter/
implementation 'io.github.yashchenkon:java-migration-tool-spring-boot-starter:0.0.8'
// https://jarcasting.com/artifacts/io.github.yashchenkon/java-migration-tool-spring-boot-starter/
implementation ("io.github.yashchenkon:java-migration-tool-spring-boot-starter:0.0.8")
'io.github.yashchenkon:java-migration-tool-spring-boot-starter:jar:0.0.8'
<dependency org="io.github.yashchenkon" name="java-migration-tool-spring-boot-starter" rev="0.0.8">
  <artifact name="java-migration-tool-spring-boot-starter" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.github.yashchenkon', module='java-migration-tool-spring-boot-starter', version='0.0.8')
)
libraryDependencies += "io.github.yashchenkon" % "java-migration-tool-spring-boot-starter" % "0.0.8"
[io.github.yashchenkon/java-migration-tool-spring-boot-starter "0.0.8"]

Dependencies

compile (3)

Group / Artifact Type Version
io.github.yashchenkon : java-migration-tool jar 0.0.8
org.springframework.boot : spring-boot-autoconfigure jar 2.0.0.RELEASE
org.springframework.boot : spring-boot-configuration-processor Optional jar 2.0.0.RELEASE

provided (1)

Group / Artifact Type Version
org.springframework.boot : spring-boot jar 2.0.0.RELEASE

Project Modules

There are no modules declared in this project.

Java Migration Tool

Build Status

Simple tool allowing managing DB schema / static (reference) data via Java Code.

Motivation

There are plenty of DB nowadays (SQL / NoSQL) but not all of them have Java libraries to manage DB schema / static data, especially if it comes to NoSQL DBs. Popular solutions like Flyway / Liquibase don't support NoSQL DBs. This project is aimed to develop generic tool that might be easily integrated with any type of DB.

Library

Library has been published to Maven Repository https://mvnrepository.com/artifact/io.github.yashchenkon/java-migration-tool-spring-boot-starter

How it works

Basically the tool is divided into several modules:

  • java-migration-tool module contains basic interfaces and logic of the tool
  • java-migration-tool-spring-boot-starter module contains auto configuration for Spring Boot framework Other modules are related to concrete integrations with different storages.

Usage

If you have standalone Spring Boot application it's enough to just add java-migration-tool-spring-boot-starter to your classpath (lib is already published to Maven repository) and also you need to add a module of concrete integration in order to make it working properly.

As of now, only Datastore integration exists. If you want to use it, just add https://mvnrepository.com/artifact/io.github.yashchenkon/java-migration-tool-datastore to your classpath.

How to implement new integration

In order to implement an integration with any DB you have to implement 2 interfaces:

  1. MigrationLock
  2. MigrationRepository As a reference and example you can use Datastore integration https://github.com/YashchenkoN/java-migration-tool/tree/master/java-migration-tool-datastore/src/main/java/io/github/yashchenkon/migration/datastore

Versions

Version
0.0.8