

Liquibase Pro Documentation
Liquibase Pro is a complete Database DevOps platform with security, compliance, and control.

Upgrade to Liquibase Pro 4.32
Frequently Asked Questions
If you want to create a schema that doesn't already exist, you can do this with Liquibase in two ways: using formatted SQL or an XML changelog with the SQL tag.
For detailed instructions on how to do this, visit our Creating a New Schema article in the Liquibase Knowlegebase.
When doing a deployment through Liquibase, all changes are stored in the DATABASECHANGELOG table. One value stored is the checksum, which is an MD5 sum of the changeset.
During deployment, each changeset in the changelog will have its checksum calculated. If the changeset has already been deployed, the calculated checksum value will be compared against what is in the DATABASECHANGELOG table for that changeset.
A checksum error will occur if the calculated checksum differs from what is stored in the DATABASECHANGELOG table and doesn't have an attribute (runOnChange or runAlways) to update the checksum.
If this is a problem that you're having, visit our How to resolve checksum errors article in the Liquibase Knowlegebase.
Liquibase will deploy changesets and store the Liquibase tracking tables (DATABASECHANGELOG and DATABASECHANGELOGLOCK tables) in the database's default schema. However, Liquibase has additional attributes to allow greater control over which schema changesets will be deployed and where to store and update the Liquibase tracking tables.
If this sounds like your issue, visit the article How to specify schema names for Postgres? in the Liquibase Knowledgebase.
When running Liquibase, the below error occurs. This error indicates that the Liquibase changeset is missing required syntax.
Error Message
ERROR: Exception Details
ERROR: Exception Primary Class: ClassCastException
ERROR: Exception Primary Reason: java.util.ArrayList cannot be cast to java.util.Map
ERROR: Exception Primary Source: Microsoft SQL Server 15.00.4345
Unexpected error running Liquibase: Error parsing /file/path.yaml : Syntax error in file file/path/changeset.yaml: java.util.ArrayList cannot be cast to java.util.Map
If this is your issue, visit the Error parsing when running Liquibase article in the Liquibase Knowledgebase.
Advance your skills at your own pace
Learn Liquibase, level up your learning, and stand out as a subject matter expert with certifications and digital credentials. Free for all users!

Fundamentals of Liquibase
For users who may be new to Liquibase or those who are interested in learning about the core functionality of the tool to track, manage, and deploy database changes. Learn about the most commonly used commands, Liquibase best practices, and a walkthrough of a typical developer workflow using Liquibase.
*Course certificate and digital credential issued upon completion.

Managing Liquibase Changelogs
For users who wish to learn how to apply different tactics and strategies to manage their Liquibase changelogs. Includes how to use labels, contexts, preconditions, and grooming and modifying changelogs. You will also learn how to organize, exclude, and archive changelogs.
*Course certificate and digital credential issued upon completion.

Common Liquibase Design Patterns
This course is for users who wish to learn about different Liquibase design patterns. It includes structuring a new Liquibase project, addressing database drift, implementing database guardrails, and utilizing property substitution.
*Course certificate and digital credential issued upon completion.

Authoring Liquibase Changesets
Changesets are how database changes are authored in Liquibase. This course will help Liquibase users understand how to apply different options to specify those changes, including using database tags, comments, and authoring changesets using the sqlFile Change Type.
*Course certificate issued upon completion.