Skip to content

github-workflows-dojo360-database

Automate database schema updates using Liquibase via the Dojo360 database workflow (with rollback and validation patterns)

active
IDE:
claude
codex
vscode
Version:
1.0.0
Owner:pcorazao
github-actions
workflow
dojo360

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.

InputTypeDescription
aide-idstringAIDE ID used to fetch team metadata
team-namestringTeam name for metadata lookup
domainstringDomain for metadata lookup
cloud-typestringCloud provider (e.g., awsOptum, azureOptum, gcp)
environmentstringTarget environment (e.g., dev, qa, cert, prod)

Database / Liquibase Inputs (Typical)

InputTypeDescription
liquibase-commandstringLiquibase command (e.g., update, validate, rollback, updateSQL)
liquibase-changelog-filestringPath to changelog file in repo
liquibase-contextsstringOptional contexts (comma-separated)

Templates

Ready-to-copy examples are in .github/skills/github-workflows-dojo360-database/templates/:

  • basic-database-management.yml
  • database-management-with-rollback.yml
  • database-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 validate in PRs and reserve update for protected branches.

Related Assets