FREEDOM251

Freedom251 › Database Migration Tools

SchemaHero

Free plan LinuxMacSelf-hostedWebWindows

Visit SchemaHero Alternatives

SchemaHero's own site

What SchemaHero is

SchemaHero is a free, open-source database schema migration tool that turns declared YAML schemas into SQL changes. Its CLI compares the database’s current structure with the desired definition and displays the SQL during a plan phase; apply executes those changes. Since the tool calculates the required SQL from the current and intended schemas, it does not depend on numbered migration files. The CLI works on its own, and users can optionally deploy a Kubernetes Operator. The operator can create migration resources and support approval or rejection workflows. SchemaHero supports PostgreSQL, MySQL, CockroachDB, TimescaleDB, Cassandra, SQLite, and RQLite. Table definitions can specify columns, keys, indexes, foreign keys, defaults, and constraints. Installation options include binaries for macOS, Linux, and Windows, Docker, and optional Kubernetes deployment. Documentation covers CI workflows for GitHub Actions and GitLab CI, along with GitOps integrations for Argo CD and Flux. Migration policies can flag destructive changes such as dropping tables or columns and fail CI checks.

Who it suits

SchemaHero suits developers and teams managing database schemas through YAML definitions, including teams using CI or GitOps workflows. Its standalone CLI is an option when Kubernetes is not in use.

What it does well

  • Plan displays SQL without changing the database.
  • CLI works without Kubernetes.
  • Supports seven listed database engines.
  • Can flag destructive changes in CI checks.
  • Available as binaries and a Docker image.

What to know first

  • Rollback support is not listed as available.
  • The Kubernetes Operator is optional, not part of the standalone CLI.

Getting started

  1. Install the SchemaHero binary on macOS, Linux, or Windows, or use the Docker image
  2. Define the desired database schema in YAML
  3. Connect SchemaHero to a supported database
  4. Run plan to review generated SQL
  5. Run apply to execute the schema changes
  6. Optionally deploy the Kubernetes Operator or configure CI and GitOps workflows

Overview

SchemaHero is an open-source tool for managing database schema changes from YAML definitions, aimed at teams that want one declarative workflow across development, CI and deployment. Its strongest case is the separation between reviewing generated SQL and applying it; the important trade-off is that it does not support rollback.

Key features

Declare, plan and apply

Schema definitions can describe columns, primary keys, indexes, foreign keys, defaults and constraints. The plan command compares that target with the database and outputs the SQL needed to reconcile them without changing the database; apply executes the SQL. This gives teams a distinct review stage before execution and removes the need to maintain numbered migration files. It suits teams that prefer to declare a target state, but less so those that rely on a manually ordered migration history.

Change safeguards and integrations

SchemaHero supports schema diffs and drift detection. Migration policies can flag destructive changes, including dropping tables or columns, and fail CI checks. That is a useful safeguard before changes run, but it is not a substitute for rollback support; teams that require a built-in reversal path should look elsewhere.

GitHub Actions and GitLab CI workflows are documented for planning and applying changes, and the Docker image can run in CI systems that support Docker. GitOps guidance covers Argo CD and Flux. PostgreSQL connections support SSL modes including require and verify-full, and connection guidance covers AWS RDS, AWS SSM, Google Cloud SQL and HashiCorp Vault.

Kubernetes is optional

The standalone CLI works without Kubernetes, while the optional operator can create Migration resources and wait for approval, with approve and reject workflows. That makes the operator relevant to teams already using Kubernetes for controlled change approval; it is not a prerequisite for adopting SchemaHero.

Pricing

SchemaHero is open-source software under Apache-2.0 and has a free plan. No paid plan is described, so it is a natural fit for teams seeking a free schema migration tool rather than a priced support tier. The project points users to the Replicated Community forum and the #schemahero channel in Kubernetes Slack for community support.

Platforms

SchemaHero supports Linux, macOS and Windows, with installation as a single binary or Docker image. It can be self-hosted, and a web platform is also included. Supported database engines are PostgreSQL, MySQL, CockroachDB, TimescaleDB, Cassandra, SQLite and RQLite, giving it coverage across relational and other database systems.

Who it's for

SchemaHero fits teams that want schema definitions in YAML, generated SQL they can review before execution, and a workflow that can run in CI or optionally use Kubernetes approvals. Its multiple database engines and cloud connection guidance also suit teams working across varied database environments. It is a poor fit when rollback is a requirement or when the team needs numbered migration files as its primary change record.

Pros and cons

  • Pros: Plan and apply are separate, so generated SQL can be reviewed before it changes a database.
  • Pros: It avoids numbered migration files and supports schema diffing and drift detection.
  • Pros: Destructive-change policies can fail CI checks, while the CLI remains usable without Kubernetes.
  • Cons: Rollback support is absent, leaving teams without a built-in reversal workflow.
  • Cons: Its declarative approach may not suit teams that want to maintain a numbered migration sequence.

Alternatives

Compare database migration tools if you want to consider a wider range of options. Choose Skeema if its free Community plan's tables, stored procedures and functions, and 18 linter checks match your needs; its Plus plan is $124 a month. Consider Atlas for an open-core option with an Apache 2.0 core and advanced features in its proprietary offering. Liquibase may suit teams looking for a freemium tool whose Starter plan supports up to five applications and one database type, with professional services required for onboarding and implementation.

Bytebase Enterprise is worth comparing if its Community allowance of up to 20 users and 10 database instances fits your team; its Pro plan costs $20 a month per user. Alembic is another free, self-hosted option, while FluentMigrator is free and supports Windows, Linux and macOS. GitHub Accessibility Scanner and Doctrine Migrations are also free alternatives.

Verdict

Choose SchemaHero if your team wants a free, cross-engine declarative workflow that makes proposed SQL reviewable before apply and can fit into CI or Kubernetes. Look elsewhere if a built-in rollback path is essential, or if your workflow depends on maintaining numbered migration files.

Verdict

SchemaHero offers a declarative plan-and-apply workflow across several database engines, with options for CI and Kubernetes use. Teams that need rollback support should note that it is not listed as available.

Questions

Which databases does SchemaHero support?

Supported engines are PostgreSQL, MySQL, CockroachDB, TimescaleDB, Cassandra, SQLite, and RQLite.

Is SchemaHero open source?

Yes. The project is licensed under Apache-2.0 and has a free plan.

Do I need Kubernetes?

No. The CLI works standalone; Kubernetes deployment is optional.

How does migration planning work?

Plan compares the current database with YAML definitions and outputs SQL. Apply executes that SQL.

Does it require numbered migration files?

No. SchemaHero calculates the SQL needed from the current and declared schemas.

Can it detect destructive changes?

Migration policies can detect changes such as dropping columns or tables and fail CI checks.

Facts from SchemaHero's own pages

CI/CD
SchemaHero documents GitHub Actions and GitLab CI workflows for planning and applying schema changes. · schemahero.io, 1 Oct 2026
CI integrations
SchemaHero documents GitHub Actions and GitLab CI workflows for planning and applying schema changes. · schemahero.io, 1 Oct 2026
Cloud database connections
Connection guidance covers AWS RDS, AWS SSM, Google Cloud SQL and HashiCorp Vault. · schemahero.io, 1 Oct 2026
Cloud integrations
Database connection documentation includes AWS RDS, AWS SSM, Google Cloud SQL, and HashiCorp Vault. · schemahero.io, 1 Oct 2026
Community support
The project directs users to the Replicated Community forum and the #schemahero channel in Kubernetes Slack. · github.com, 1 Oct 2026
Database support
Supported database engines listed by SchemaHero are PostgreSQL, MySQL, CockroachDB, TimescaleDB, Cassandra, SQLite and RQLite. · schemahero.io, 1 Oct 2026
Declarative workflow
It compares a desired YAML schema with the current database schema and generates the SQL needed to synchronize them. · schemahero.io, 1 Oct 2026
Deployment modes
SchemaHero is provided as a CLI utility and a Kubernetes Operator. · schemahero.io, 1 Oct 2026
Docker
The schemahero/schemahero Docker image contains the CLI and can run in any CI system that supports Docker. · schemahero.io, 1 Oct 2026
GitOps integrations
SchemaHero documents GitOps integration with Argo CD and Flux. · schemahero.io, 1 Oct 2026
Installation
SchemaHero is distributed as a single binary for macOS, Linux and Windows, and is also available as a Docker image. · schemahero.io, 1 Oct 2026
Install platforms
The project provides installation instructions for macOS, Linux, Windows, Docker, and optional Kubernetes deployment. · schemahero.io, 1 Oct 2026
Interfaces
SchemaHero is provided as a CLI utility and a Kubernetes Operator. · schemahero.io, 1 Oct 2026
Kubernetes approvals
The Kubernetes Operator can create Migration resources, wait for approval, and support approve or reject workflows. · schemahero.io, 1 Oct 2026
Kubernetes requirement
The CLI works standalone without Kubernetes, and the operator is optional. · schemahero.io, 1 Oct 2026
License
The GitHub repository is licensed under Apache-2.0. · github.com, 1 Oct 2026
Migration files
SchemaHero does not require numbered migration files because it calculates the SQL needed to move the database from its current state to the declared schema. · schemahero.io, 1 Oct 2026
Migration safety
Migration policies can detect destructive changes such as dropping columns or tables and fail CI checks. · schemahero.io, 1 Oct 2026
Origin
Replicated introduced SchemaHero as an open-source project on August 24, 2019. · replicated.com, 1 Oct 2026
Plan and apply
The plan phase reads the database and outputs SQL without changing the database, while apply executes the generated SQL. · schemahero.io, 1 Oct 2026
Plan/apply workflow
The plan command compares the current database schema with YAML definitions and outputs SQL, while apply executes that SQL. · schemahero.io, 1 Oct 2026
Purpose
SchemaHero is an open-source database schema migration tool that converts schema definitions into migration scripts. · schemahero.io, 1 Oct 2026
Schema capabilities
Table definitions can specify columns, primary keys, indexes, foreign keys, defaults, and constraints. · schemahero.io, 1 Oct 2026
Security controls
Database connections support SSL modes including require and verify-full, and Kubernetes credentials can be stored in Secrets. · schemahero.io, 1 Oct 2026

Where SchemaHero stands on Freedom251

Look at these too