Liquibase Enterprise was formerly known as Datical DB.
Baseline a Project
Baselining a project is the process of capturing the "current state" snapshot of all databases for a project/schema. Once baselined, you will review the results to
- Label any changes that are in-process (in some databases, but not yet others) so they can be deployed to the remaining environments
- Identify inconsistencies across databases (missing or extra objects)
Datical DB supports 3 types of baselining
- Full Baseline
- Partial Baseline
- No Baseline
The goal of the full-baseline is to capture the full state of your project, label any in-process changes, and clean up any inconsistencies in your project databases. While this process takes time, it gives you the knowledge that any inconsistencies that have emerged over time have been fixed, and that all changes are accounted for.
The goal of the partial-baseline is to speed up provisioning, capture the full state of your project and label any in-process changes. However, it postpones the cleanup of database inconsistencies, which can be performed when time is available. Until the cleanup process is complete, you might run into forecast/deployment errors as a result of any unexpected or missing objects in a database.
The goal of the no-baseline option is to speed up provisioning and start using Datical DB to deploy changes quickly. With this process, you will not be capturing the current state of your databases. Without this information in Datical, you will be responsible for figuring out what changes have already been deployed and for identifying database inconsistencies over time as you deploy changes.
Use the Project Baseline Script
This script will baseline all of the databases in each of the pipelines.
How To Use project_baseline.groovy
hammer groovy project_baseline.groovy [baselinePrimaryDBOnly] [skip | force] [noSync] [zip]
Required Parameters | |
None |
Optional Parameters |
|
baselinePrimaryDBOnly | Flag to only baseline the last DB in the first pipeline |
skip | force |
|
noSync | Flag to optionally NOT run changelogSync on each of the Reference DBs |
zip | Flag to create a zip file of the baselined project |
useStorageOptions | Flag to enable storage options during baselining. The default is to not use storage options during diffChangelog |
skipExtraObjects | Flag to skip the collection of objects not natively supported by Datical DB (grants/revokes, user defined types, materialized views, and database links) |
Prerequisites
- Ensure that the Datical DB CLI directory is in your path. Otherwise, you will need to specify the full path to the CLI tool – hammer.
Example on Windows
% cd <datical_working_dir>/<desired_project> % hammer groovy "<windows_script_path>\project_baseline.groovy" force zip
Example on Linux
% cd <datical_working_dir>/<desired_project> % hammer groovy "/home/user/scripts/project_baseline.groovy" force zip
Results
- All connections are validated
- All project databases are baselined and tagged appropriately
Copyright © Liquibase 2012-2022 - Proprietary and Confidential