
Harness Database DevOps was built to make database delivery as automated, safe, and repeatable as application delivery. Historically, Liquibase was our primary migration engine. Today we’ve added Flyway support - an SQL-first, simple migration engine - to give teams more choice and better alignment with their existing workflows.
Why Flyway? Understanding Developer Needs
Teams differ: some prefer Liquibase’s structured changelogs (XML/YAML/JSON); others prefer Flyway’s versioned SQL scripts. Flyway’s minimalism and convention-over-configuration approach make it attractive for developers who want direct control over SQL. Adding Flyway is about enabling choice and reducing friction for teams that already rely on SQL based migrations.
How Harness Simplifies Database Migrations?
Harness integrates both engines into one platform so teams can use their preferred tool while retaining centralized governance, approvals, drift detection, automated rollbacks, and environment visibility. You can run Liquibase and Flyway side by side within the same pipeline, with consistent policy and audit controls.
From a technical point of view, Flyway’s power lies in its simplicity - but that also means its conventions matter. Below is a brief guide to the essentials: naming conventions, baselines, pending migrations, and success validation.
Key Concepts:
- Naming convention: Flyway uses versioned filenames such as V1_init.sql, V2_add_users_table.sql.
The V prefix, version number, and double underscore separate version and description. This defines execution order and ensures predictability. - Baseline: When integrating Flyway into an existing database, baselineVersion and baselineOnMigrate=true tell Flyway to treat the current schema as a known version.
- Pending migrations: Flyway automatically detects migrations present in code but not yet applied.
- Success validation: Every applied migration is logged in the flyway_schema_history table.
Best Practices:
- Use clear and consistent script names (V3__add_email_index.sql).
- Keep each migration atomic - one logical change per script.
- Commit migrations alongside code for version alignment.
- Always baseline before onboarding an existing database.
Sample Harness Pipeline Step:
- step:
type: DBSchemaApply
name: ApplyMigrations
identifier: ApplyMigrations
spec:
connectorRef: account.harnessImage
migrationType: Flyway
dbSchema: flyway_demo
dbInstance: main
timeout: 10m
Example File Structure:
db/migrations/V1_baseline_schema.sql
db/migrations/V2_create_users_table.sql
db/migrations/V3_add_email_index.sql
Benefits of Multi-Engine Support
Flexibility: Teams pick the engine that matches their workflow.
Scalability: Enterprises with multiple database tools can onboard easily.
Governance: Centralized policies, approvals, and audits apply consistently.
Productivity: Developers focus on writing migrations - Harness handles execution, safety, and rollback automation.
The Future of Database DevOps at Harness
Supporting Flyway alongside Liquibase marks a significant step toward tool-neutral Database DevOps Orchestration. Harness continues to focus on developer freedom and operational confidence.
Whether you prefer structured changelogs or raw SQL scripts, Harness provides a unified pipeline experience - bringing automation, policy control, and observability under one roof. Try Flyway support in your next pipeline and experience how Harness brings agility, safety, and choice to modern database delivery.

