This repo contains artifacts to be use by the Liquibase Pro Data Governance Workshop on Policy Checks Assumes you are using Liquibase Pro 4.29.2 or higher with a valid license key You will need to have JAVA version 17+ to utilize the custom policy checks with python code feature
Once you clone the repo make sure that the parent directory of the local repo is included in the LIQUIBASE_SEARCH_PATH
The WorkshopLabs directory contain the lab instructions for using this in your own environment
These environment variables need to be defined for environment session of within a liquibase.properties file:
LIQUIBASE_COMMAND_CHANGELOG_FILE=workshopChangelog.xml
LIQUIBASE_COMMAND_USERNAME=[db user name]
LIQUIBASE_COMMAND_PASSWORD=[db user password for target DB]
LIQUIBASE_COMMAND_URL=[jdbc connect string for target database]
LIQUIBASE_LICENSE_KEY=[your valid pro license key]
LIQUIBASE_COMMAND_CHECKS_RUN_CHECKS_OUTPUT=ISSUES
LIQUIBASE_LOG_FORMAT=JSON_PRETTY
LIQUIBASE_REPORTS_ENABLED=true
LIQUIBASE_COMMAND_CHECKS_RUN_CHECKS_SCRIPTS_ENABLED='true'
Liquibase Doc Pages that may be helpful:
For details on custom policy checks using regex patterns - Learn more here:
Single Regex Pattern Check
PatternAFollowedByPatternB
PatternANotFollowedByPatternB
PatternANotPrecededByPatternB
PatternAPrecededByPatternB
For details on custom policy checks using python scripts - Learn more here:
[Custom Policy Checks] https://docs.liquibase.com/liquibase-pro/policy-checks/custom-policy-checks/home.html
Liquibase prerequisites for python based custom policy checks
Liquibase 4.29.0+ with the Liquibase Checks extension - only available to users on MacOS or Linux
Download the liquibase-checks-.jar and put it in the liquibase/lib directory.
You can find the jar file here - https://mvnrepository.com/artifact/org.liquibase.ext/liquibase-checks
If you use Maven, add this dependency to your pom.xml file:
<?xml version="1.0"?>
<dependency>
<groupId>org.liquibase.ext</groupId>
<artifactId>liquibase-checks</artifactId>
<version>1.0.0</version>
</dependency>
Java Development Kit 17+ (available for Open JDK and Oracle JDK)
Linux, macOS, or Windows operating system
Familiarity with Liquibase concepts: Changelog, Changeset, checks-scope, and snapshot