Finally Bringing Database Testing Together for Liquibase

What does supporting a database really mean?

First, we had to consider the difference between databases and versions. For example, MySQL 5.7, MySQL 8.0, Postgres 11, and Postgres 12. Then, we also needed to consider that each platform has database-specific variants that create minor runtime differences, i.e., Postgres 11 runs slightly differently in Docker vs AWS RDS.

Testing against different database versions.

Now that we established Liquibase should function consistently for specific database versions based on the target platform, we could start planning out how to test it. Once we defined a few of the variables that will scale as we test against more databases, it was clear that it was going to scale very quickly and we should rely on automation to run these tests. There are several software automation platforms available that allow for different tests to be run in parallel. We picked Github Actions as our test runner because it would allow us to easily set up a build matrix running the same tests against a few different variations.

Wrapping it up

Without Liquibase Hub providing a real-time view of all the changes, we would not have been able to run multiple database tests in multiple environments. The idea of testing Liquibase against different target environments was not a new idea, but until Hub, it was not feasible to collect and generate reports. If you already use Liquibase, you can set up a free Liquibase Hub account and connect it in minutes. If you’re new to Liquibase, download the latest open source version and once you’re using it to make database changes, you can set up your Hub account and view changes in real time. Try Liquibase Hub today!



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Derek Smart

Derek Smart

Derek is a software developer based in Atlanta, GA who loves tinkering and working on Open Source projects.