github-workflows-dojo360-database
Automate database schema updates using Liquibase via the Dojo360 database workflow (with rollback and validation patterns)
Database Workflow Skill
Overview
This skill covers common GitHub Actions patterns for running Liquibase-driven database schema updates.
Dojo360 provides a reusable database.yml workflow. You typically wire it into your repo as a workflow that supplies:
- Team metadata inputs (
aide-id,team-name,domain,cloud-type,environment) - Liquibase parameters (changelog file, command, contexts)
- Database connection details (via GitHub Secrets, PRM/Volcan, or platform-native secret stores)
Workflow Reference
Repository: dojo360/pipelines-workflows
Workflow: .github/workflows/database.yml
Docs: https://github.com/dojo360/pipelines-workflows/tree/main/web/database/index.md
Key Features
- Liquibase-based schema management (update/validate/rollback patterns)
- Schema versioning via changelog files
- Rollback support (tag/count based patterns)
- Multi-database support (varies by platform/driver)
Prerequisites
- A Liquibase changelog exists in the repo (example paths:
db/changelog.xml,liquibase/changelog.yaml) - Database connection details are available to the workflow (avoid hardcoding; prefer OIDC + vault-backed secrets)
- GitHub Environments exist if you rely on environment-level approvals/protection rules
Required Inputs (Typical)
Exact inputs can vary by Dojo360 version; confirm against the Dojo360 docs.
| Input | Type | Description |
|---|---|---|
aide-id | string | AIDE ID used to fetch team metadata |
team-name | string | Team name for metadata lookup |
domain | string | Domain for metadata lookup |
cloud-type | string | Cloud provider (e.g., awsOptum, azureOptum, gcp) |
environment | string | Target environment (e.g., dev, qa, cert, prod) |
Database / Liquibase Inputs (Typical)
| Input | Type | Description |
|---|---|---|
liquibase-command | string | Liquibase command (e.g., update, validate, rollback, updateSQL) |
liquibase-changelog-file | string | Path to changelog file in repo |
liquibase-contexts | string | Optional contexts (comma-separated) |
Templates
Ready-to-copy examples are in .github/skills/github-workflows-dojo360-database/templates/:
basic-database-management.ymldatabase-management-with-rollback.ymldatabase-management-pr-validation.yml
Notes / Gotchas
- Never commit DB credentials or JDBC URLs into workflow YAML; use GitHub Secrets or platform secret stores.
- Use GitHub Environments to enforce approvals for higher environments.
- When possible, run
validatein PRs and reserveupdatefor protected branches.
Related Assets
github-workflows-dojo360-azure-infrastructure
Deploy Azure infrastructure using Terraform with PCAM vaulted access and native Azure authentication through Dojo360 Azure Infrastructure workflow
Owner: pcorazao
github-workflows-dojo360-container-cd
Deploy containerized applications to AWS ECS/Azure ACS using Dojo360 Container CD workflow with blue-green and rolling update strategies
Owner: pcorazao
github-workflows-dojo360-container-promotion
Multi-environment container deployment promotion through prescribed deployment paths with automated approval gates and E2E testing
Owner: pcorazao
github-workflows-dojo360-database-promotion
Promote Liquibase database changes across environments (dev→qa→cert→prod) with deployment-path validation and approval gates
Owner: pcorazao
github-workflows-dojo360-dockerfile-ci
Build and scan container images from a Dockerfile using Optum golden images and the recommended UHG reusable workflow
Owner: pcorazao
github-workflows-dojo360-dotnet-ci
Build, test, and scan .NET apps using the recommended UHG reusable CI workflow, with optional publish/pack and container builds
Owner: pcorazao

