What is Flow File?
Definition
A Flow File breaks a deployment into named stages, typically something like a preparation stage that runs Policy Checks against a ChangeLog, a deployment stage that applies it, and a verification stage that confirms the result and retrieves history. Each stage can run its own set of commands, and the file specifies what happens if a stage fails, whether that means halting immediately, running cleanup steps, or generating a report before stopping. Because the file itself is portable, the exact same Flow File can run on a developer's laptop, inside a CI/CD pipeline, or through a different automation tool entirely, producing the same sequence of steps and the same result regardless of where it's invoked.
Why Flow Files matter
Database deployments often involve several separate manual steps: check the ChangeLog, run Policy Checks, apply changes, confirm the result. When those steps live in someone's head or in a runbook, they get skipped under pressure, or done slightly differently by whoever's on call. A Flow File takes that sequence and turns it into a single, version-controlled definition that runs the same way every time, whether it's a routine deployment or a middle-of-the-night hotfix. It also becomes a form of documentation in its own right: reading the Flow File tells a new team member exactly what a deployment involves, without needing a separate runbook kept in sync by hand.
How Flow Files work
A Flow File defines a series of Stages, each containing one or more commands to run in order. A typical Flow might include a preparation stage that validates a ChangeLog against Policy Checks, a deployment stage that applies the ChangeSets, and a verification stage that pulls deployment history to confirm what actually happened. If a stage fails, an endStage can define exactly what runs next, whether that's a cleanup action, a notification, or simply stopping the process cleanly rather than leaving it half-finished. Because the same commands work locally, in CI/CD, or through other automation tools, a Flow File written once doesn't need a separate version per environment. Arguments can also be passed in externally, letting the same Flow adapt to a specific deployment target without editing the file itself.
How Liquibase helps
Liquibase Flows let teams package best practices, checks, and deployment steps into a single reusable file, so the process that ran successfully in staging is, structurally, the exact same process that runs in production. Combined with Policy Checks and Structured Logging, a Flow File gives a team one definition that handles validation, deployment, error handling, and audit history together, rather than stitching those pieces together from separate scripts and tools.
