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 & test | Official documentation | |
Liquibase (standalone Open-Source edition) | Link | Doc |
Oracle SQLcl with Liquibase | Link | Doc |
Flyway Community Edition | Link | Doc |
D.O.M.E - Deployment Organisation Made Easy | Link | Doc, Videos |
ADT - APEX Deployment Tool | Not published yet | Doc |
dbFlow | Not published yet | Doc |
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
I have 2 environments in Oracle Cloud Infrastructure (OCI) - Development(DEV) and Production (PROD).
Each environment has 1 database schema HR (Human Resources Sample Schema from Oracle). All database objects are the same at DEV and PROD
All past deployments were made manually without any tracking tools.
What will I test?
Installation, configuration and connection to the database - how easy or not it is?
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
After making those changes at DEV, I will deploy it to another environment (PROD)
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.
Subscribe to my newsletter
Read articles from Rafal Grzegorczyk directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Rafal Grzegorczyk
Rafal Grzegorczyk
Oracle APEX & PL/SQL Developer with 10 years of experience in IT, including financial systems for government administration, energy, banking and logistics industry. Enthusiast of database automation. Oracle ACE Associate. Certified Liquibase database versioning tool fan. Speaker at Kscope, APEX World, SOUG, HrOUG, POUG and DOAG. Likes swimming in icy cold lakes in winter and playing basketball.