Photo by Shane Hauser on Unsplash
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 |
Oracle’s SQLcl “Project” feature | Link | Doc |
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 - 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.