July 22, 2020

Tips for Getting Your Liquibase Fundamentals Certification

Are you looking for an easy bit of professional development during the pandemic? If you work in DevOps, I think our Liquibase Fundamentals certification is time well spent. It’s a great shareable certification for your time. (And it’s free.)

I recently earned my certification and wanted to share my experiences and provide some tips to help you along your Liquibase certification journey. Following some simple set up tips will save you a lot of time and help you get through the course faster.

My Liquibase Fundamentals certificate, signed by Nathan Voxland.

My background with Liquibase

My first experience with Liquibase was in 2010 as a build engineer. I also learned a little here and there after that. I am self-taught. Before taking this course, I knew concepts and I could set Liquibase up. Google is my friend and I have enough experience to know what terms to search for regarding any problems I may have in Liquibase.

Pleasant surprises

The thing I love about the course is that it was interesting! Those that have done other DevOps certification may relate, the norm is boring. I like that each section has videos that explain the concepts like changelogs, changesets, and tracking tables. I love that key principles, like using source control to save your project, are covered. The knowledge tests at the end of each section and activities kept a long-time user like me engaged, so I am confident that new users will really like it.

Tips on setting up your environment

So, what can I say to help make this wonderful course better? Nothing. But I can help make your experience taking it easier and faster. The secret to getting your Liquibase Fundamentals Certification faster? The right set up.

Wanna finish the Fundamentals training in 2 hours? Ducati be kidding me right? Ronak is into “Dad Jokes” and motorcycles.

Here’s what we’ll cover:

  • Where to set up your Liquibase project.
  • You’ll need to know the project name, where you’ll be creating the changelog, and what type of database to target.
  • What the project folder structure should be.
  • How to set up a target database quickly.

Recommended set up

Create a simple project folder by platform type with a liquibase.properties file and a changelog.

Using an SCM like git is a great way to store your base project to get back to a known state.
  • Put the file in SCM.
  • Create a simple target database.

I toyed with the idea of just installing Postgres local and using PGAdmin on the Mac… but I didn’t want to tie my local system to a DB. Also, I wanted to use MS SQL Server, which I can’t (and wouldn’t even if I could) install on my Mac. Instead, I figured I had dragged my feet long enough and have resisted learning Docker containers for just the right amount of time.  

Just an aside on how long I can drag my feet and buck social norms….I did not watch any Star Wars movies until I was in college and only after I read the books (which came after the movies). And I have yet to see E.T. or Titanic. I don’t like rushing to embrace the new shiny, must-do thing. (Not even if they were on a motorcycle.)

I decided to go with containers because I want the database to stand up, get initialized with a base schema/data and run my Liquibase changelog or other commands against it. It was super simple. Learn how to do it yourself! Support environment for Liquibase & MSSQL using Docker.

Recovering and resetting the local environment

Once you have your Docker container and Liquibase running, you can run anything you need to pass the Liquibase Fundamentals certification. I really like this set up for running through the coursework. If I messed up, I could just roll back my source and recreate my container to its starting state.

It is helpful to reset the environment. Rather than rolling back my Liquibase project due to changes, I could just destroy the container and restart. This came in handy when I wanted to try out all the different changeset languages (xml, formatted sql, json, yaml).

Here’s how to reset:

  1. Just stop: docker stop <containerid>
  2. Recreate container.
  3. Restart my database at initial state. (This way, all the tracking tables get wiped and Liquibase will now see no changesets deployed):
    `docker run -e ‘ACCEPT_EULA=Y-e 'SA_PASSWORD=yourStrongPassword1$' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-CU8-ubuntu

Concluding thoughts

I worked on my certification after work and I was quite lazy about it. I spent about an hour each day for about 3-4 days to complete it. I probably could have done it faster if I had someone tell me how to stand up an environment for this class! I hope this post helps you speed up the process so you can easily set up your environment to just cruise through the course and earn that cert badge for your LinkedIn profile. Go to Liquibase University to get started.

Your Liquibase friend and cheerleader,

Share on: