Databases updates management application | IT projects JazzTeam

Databases updates management application

  • Duration: 6 months
  • Services: Backend Development, Test Automation Services, CI/CD Implementation & Modernization. DevOps Services, Early-Stage Innovation, R&D Services, Software Reengineering, Refactoring and Modernization. Cloud Migration
  • Technologies: XML, Data Bases, JUnit / TestNG, Liquibase, Project Management, Collaboration and Bug Tracking, Apache Commons CLI, Jira, Git, Maven JAR Plugin, Apache Maven, MySQL, Java, DB Connection Pool (DBCP), Maven Shade Plugin, Backend, Araxis Merge, Oracle DB, Build and Dependency Platforms and Tools, Spring, Various Editors, XML based technologies, Test Automation, Source Code Management (SCM), CI/CD and DevOps, Languages, Protocols, APIs, Network Tools, Software Engineering and Management Tools, Confluence, JaCoCo, Java Libraries, Apache Commons, DB Tools
  • Business Domains: Telecom Industry, IT Industry
  • IT Architecture Paradigms and Approaches: Test Driven Development (TDD)
  • Technical Expertise: Continuous Integration & Continuous Delivery (CI/CD), Databases
  • DevOps Expertise: Advanced build organization, CI/CD Advanced
  • Team size (2):
  • 1 Project Manager
  • 1 Backend

Project summary

Databases updates management applicationThe LiquibaseUpdater application is a wrapper over Liquibase. This application performs the database migration and allows to control the management process of database version updating.

The application provides the following functionality:

  • Performing operations on filling the database.
  • Getting parameters from the arbitrary configuration file (by default
  • Getting data schema from arbitrary directory.

The database filling procedure is carried out according to certain rules described in the Liquibase data schema. Filling the database can be done in two ways: until a certain tag in changes schema or complete database filling according to the scheme.

There is a processes log. Log contains both the information sent to standard output, and exceptions service messages. Each application run creates a separate log file.

The result of application operation is displayed in console as a text status line indicating the time of the application operation and the number of execution errors.

The application composition and structure

  • Console application, interface, services.
  • LiquibaseUpdater main module.
  • Auxiliary modules: Config, CommandLineResolver, LiquibaseManager, LiquibaseService, ExceptionLogger.
  • Third-part libraries (Spring, Liquebase, Apache Commons).

The application composition and structure

The application architecture

The application architecture


Technologies: Liquibase, Spring, Apache-cli, JUnit, DBCP, MySQL, Oracle, Maven, Maven-jar, Maven-shade, Jacoco, XML, Liquibase log framework, Git, Jira, Confluence.

  • Distributed team – 3 countries, 3 cities.
  • Scrum/Agile – daily Scrum meetings.
  • Within the project the implementation of the functionality, bug fixing, tests coverage were performed.

Company’s achievements during the project

  • Adobe Experience Manager was quickly studied and used.
  • All the tasks set relating to both UI and server parts of application were solved successfully.
  • The application interaction with ExactTarget service was realized.

Project results

The possibility to control the database versions updating using the LiquibaseUpdater application was realized.

Company’s achievements during the project:

  • Test coverage was checked with Jacoco.
  • Code style standards and code quality requirements were implemented through Sonar.
  • Unit testing was implemented.


Example of database commit

  • The full database update

./liquibase_updater.bat -verbose -install=d:/doc/changelog/rollback2tag/master.xml

  • Update until a tag

./liquibase_updater.bat -verbose -install=d:/doc/changelog/rollback2tag/master.xml -tag=version_0.1.0

Example of database rollback

  • The full database rollback

./liquibase_updater.bat -verbose -force -rollback=d:/doc/changelog/rollback/master.xml

  • Rollback until a tag

./liquibase_updater.bat -verbose -rollback=d:/doc/changelog/rollback2tag/master.xml -tag=version_0.1.0

Rolling back the full database requires an additional key -force.

Example of log content


    Contact Us


    Email: *


    I agree to Privacy Policy

    What happens next?

    1 Leave your project request. We will contact you and schedule a call.
    2 Signing of the NDA to ensure the project info confidentiality.
    Negotiation of your request and the required services.
    4 Team forming, coordination of workstages.
    5 Contract signing and project start.

    Telegram WhatsApp Facebook LinkedIn