Java Migration Tool

This module helps you manage your migrations by using Java classes that are applied in a particular order during application startup.

License

License

Categories

Categories

Java Languages
GroupId

GroupId

io.github.yashchenkon
ArtifactId

ArtifactId

java-migration-tool
Last Version

Last Version

0.0.8
Release Date

Release Date

Type

Type

jar
Description

Description

Java Migration Tool
This module helps you manage your migrations by using Java classes that are applied in a particular order during application startup.
Project URL

Project URL

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

Download java-migration-tool

How to add to project

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

Dependencies

compile (2)

Group / Artifact Type Version
org.slf4j : slf4j-api jar 1.7.25
org.slf4j : slf4j-log4j12 jar 1.7.25

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