A whirlwind tour of Database Schema Changes Tracking Tools: Introduction

Intro

In this blog series, I will compare various database schema change tracking tools. And yes, from my recent blog posts, you may recognize me as a Liquibase fan.

Indeed, it's true. But there are so many other tools available that I can't ignore them. This is why I want to test and learn some of them.

Don't expect detailed tutorials - just a brief overview and test with as little technical information as possible.

If you like one of the tested tools - there will be links to more detailed articles.

Tested tools

Tool review & testOfficial documentation
Liquibase (standalone Open-Source edition)LinkDoc
Oracle SQLcl with LiquibaseLinkDoc
Flyway Community EditionLinkDoc
D.O.M.E - Deployment Organisation Made EasyLinkDoc, Videos
Oracle’s SQLcl “Project” featureLinkDoc
ADT - APEX Deployment ToolNot published yetDoc
dbFlowNot published yetDoc

What databases are covered?

I will focus on the Oracle database, but some tools are compatible with other database vendors, such as Microsoft SQL Server, MySQL, Postgres, etc.

Prerequisites

  1. I have 2 environments - Development(DEV) and Production (PROD).

  2. Each environment has 1 database schema HR (Human Resources Sample Schema from Oracle). All database objects are the same at DEV and PROD

  3. All past deployments were made manually without any tracking tools.

What will I test?

  1. Installation, configuration and connection to the database - how easy or not it is?

  2. How can I change my database schema objects using every tested tool? (in the DEV environment)):

    • insert new row into table COUNTRIES

    • create a new table PARAMETERS

    • add a new column to the existing table EMPLOYEES

    • change existing procedure SECURE_DML

    • insert new rows into the newly created table PARAMETERS

  3. After making those changes at DEV, I will deploy it to another environment (PROD)

  4. I will also visualize (if possible) or retrieve a list of changes made to the database schema.

All tests will be provided using my MacOS and Oracle Database on OCI.

Let me know if you know of any other free tools. I will also try to test it.

Stay tuned!

PS: Are you wondering how those tools can be used with Oracle APEX? At the end of this blog series, I will create a special blog describing how APEX can be versioned and deployed using those tools.