SchemaWizard-OOP-based Migrations Library

Software development
IntelliCeedBlog list

SchemaWizard-OOP-based Migrations Library

SchemaWizard-OOP-based Migrations Library

author: Olha Maksymets

publication date: Feb 21, 2024

Backend developers Andriy and Mykola demonstrated their development, SchemaWizard - Impressive OOP-based Migrations Library, at the lecture, which they were working on - a Java library for automated management of database schema changes (aka db migrations). There are other analogues in the Java ecosystem, such as Flyway or Liquibase, but they have some inconveniences/disadvantages. For example:

  • Flyway requires you to write native SQL;
  • Liquibase allows you to write migrations using JSON, XML, YAML files, which gives a certain advantage and minimises the amount of native SQL, but still native parts remain and when you need to migrate from one database provider to another, problems may arise. Also, Liquibase is a bit difficult to use if you haven't worked with it before.

When developing our library, we decided to focus on a few things:

  • simplicity and convenience;
  • writing migrations using Java code;
  • cross-database compatibility (the same Java code can be run on different database providers);
  • use of OOP principles when writing migrations;
  • extensibility.

Actually, these things were shown at the lecture. And finally, future plans for further development:

  • gradle/maven plugins;
  • integration with spring/hibernate;
  • develop extension modules for different databases - each module will be focused on extending the library's functionality within the framework of the respective database provider.

Speakers: Andriy Bosyk, Mykola Prokopchuk