EVERYTHING XIAOMI
Get listed

SchemaHero

SchemaHero is a free, open-source database schema migration tool that uses declared YAML definitions to generate SQL changes.

Place
#15 of 32
Score
6.1
SchemaHero's website

What SchemaHero is

SchemaHero is a free, open-source database schema migration tool that uses declared YAML definitions to generate SQL changes. Its CLI compares a desired schema with the database’s current state and produces SQL during the plan phase; apply executes those changes. Because it calculates the required SQL from the two schemas, it does not require numbered migration files. SchemaHero is available as a CLI and an optional Kubernetes Operator. The CLI runs without Kubernetes, while the operator can create migration resources and support approval or rejection workflows. Supported databases are PostgreSQL, MySQL, CockroachDB, TimescaleDB, Cassandra, SQLite, and RQLite. Table definitions can specify columns, keys, indexes, foreign keys, defaults, and constraints. Installation options include single binaries for macOS, Linux, and Windows, plus Docker and optional Kubernetes deployment. Documentation covers GitHub Actions and GitLab CI workflows, as well as GitOps integrations with Argo CD and Flux. Migration policies can flag destructive changes such as dropping columns or tables and fail CI checks. Rollback support is not listed as available.

Good

  • Plan generates SQL without changing the database.
  • Does not require numbered migration files.
  • Supports seven listed database engines.
  • Can flag destructive changes in CI.
  • CLI works without Kubernetes.

Watch out

  • Rollback support is not available.
  • The Kubernetes Operator is optional and requires Kubernetes.
  • Database support is limited to the listed engines.

Who it suits

SchemaHero suits teams that want declarative schema changes in CI/CD or Kubernetes workflows. The standalone CLI is also an option for users who do not need Kubernetes.

Verdict

SchemaHero offers a declarative route from YAML schema definitions to SQL changes, with CLI and Kubernetes workflows. Its lack of rollback support is an important limitation to weigh before adopting it.

The facts

Each one read from SchemaHero's own pages, with the date it was checked.

What it does

CI/CD
SchemaHero documents GitHub Actions and GitLab CI workflows for planning and applying schema changes.checked 1 Oct 2026
CI integrations
SchemaHero documents GitHub Actions and GitLab CI workflows for planning and applying schema changes.checked 1 Oct 2026
Cloud database connections
Connection guidance covers AWS RDS, AWS SSM, Google Cloud SQL and HashiCorp Vault.checked 1 Oct 2026
Cloud integrations
Database connection documentation includes AWS RDS, AWS SSM, Google Cloud SQL, and HashiCorp Vault.checked 1 Oct 2026
Community support
The project directs users to the Replicated Community forum and the #schemahero channel in Kubernetes Slack.checked 1 Oct 2026
Database support
Supported database engines listed by SchemaHero are PostgreSQL, MySQL, CockroachDB, TimescaleDB, Cassandra, SQLite and RQLite.checked 1 Oct 2026
Declarative workflow
It compares a desired YAML schema with the current database schema and generates the SQL needed to synchronize them.checked 1 Oct 2026
Deployment modes
SchemaHero is provided as a CLI utility and a Kubernetes Operator.checked 1 Oct 2026
Docker
The schemahero/schemahero Docker image contains the CLI and can run in any CI system that supports Docker.checked 1 Oct 2026
GitOps integrations
SchemaHero documents GitOps integration with Argo CD and Flux.checked 1 Oct 2026
Installation
SchemaHero is distributed as a single binary for macOS, Linux and Windows, and is also available as a Docker image.checked 1 Oct 2026
Interfaces
SchemaHero is provided as a CLI utility and a Kubernetes Operator.checked 1 Oct 2026
Kubernetes requirement
The CLI works standalone without Kubernetes, and the operator is optional.checked 1 Oct 2026
License
The GitHub repository is licensed under Apache-2.0.checked 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.checked 1 Oct 2026
Migration safety
Migration policies can detect destructive changes such as dropping columns or tables and fail CI checks.checked 1 Oct 2026
Origin
Replicated introduced SchemaHero as an open-source project on August 24, 2019.checked 1 Oct 2026
Purpose
SchemaHero is an open-source database schema migration tool that converts schema definitions into migration scripts.checked 1 Oct 2026
Schema capabilities
Table definitions can specify columns, primary keys, indexes, foreign keys, defaults, and constraints.checked 1 Oct 2026
Security controls
Database connections support SSL modes including require and verify-full, and Kubernetes credentials can be stored in Secrets.checked 1 Oct 2026

Where it runs

Install platforms
The project provides installation instructions for macOS, Linux, Windows, Docker, and optional Kubernetes deployment.checked 1 Oct 2026
Kubernetes approvals
The Kubernetes Operator can create Migration resources, wait for approval, and support approve or reject workflows.checked 1 Oct 2026

Money

Plan and apply
The plan phase reads the database and outputs SQL without changing the database, while apply executes the generated SQL.checked 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.checked 1 Oct 2026
The full review of SchemaHero

Overview

SchemaHero suits teams that want database changes expressed as desired state rather than a hand-maintained sequence of migration files. Its plan-before-apply workflow makes proposed SQL reviewable, though the absence of rollback support is a serious constraint for teams that need a built-in reversal path.

It is an open-source tool under Apache-2.0, delivered as a standalone CLI or an optional Kubernetes Operator. The CLI does not require Kubernetes, so teams can use the same declarative approach in local or CI environments without adopting the operator.

Key features

Plan and apply

Schema definitions in YAML describe columns, primary keys, indexes, foreign keys, defaults and constraints. The plan command compares that target with the current database and outputs SQL without changing the database; apply executes the SQL. This separation gives reviewers a chance to inspect changes before execution. Because SchemaHero calculates changes from current state to declared state, it does not require numbered migration files—a useful fit for teams that prefer a declarative workflow, but a different model from manually curated migration histories.

Safety and change visibility

SchemaHero supports schema diffing and drift detection. Migration policies can flag destructive changes such as dropping a column or table and fail CI checks, helping teams catch risky proposals before they proceed. That is a guardrail, not rollback: SchemaHero does not support rolling changes back, so teams that require a product-provided reversal mechanism should look elsewhere.

Automation and deployment

The project documents GitHub Actions and GitLab CI workflows for planning and applying changes, as well as GitOps integration with Argo CD and Flux. Its Docker image includes the CLI and can run in CI systems that support Docker. The Kubernetes Operator can create Migration resources and wait for approval, with approve and reject workflows; teams not using Kubernetes can stay with the CLI.

Database connections

Supported engines are PostgreSQL, MySQL, CockroachDB, TimescaleDB, Cassandra, SQLite and RQLite. PostgreSQL connections include SSL modes such as require and verify-full. Connection guidance covers AWS RDS, AWS SSM, Google Cloud SQL and HashiCorp Vault, and Kubernetes credentials can be stored in Secrets. These options make the tool relevant across several database and deployment setups, while the supported-engine list remains the boundary of its fit.

Pricing

SchemaHero is free, with no paid plan or seat, quota, or trial terms specified. Its Apache-2.0 license and self-hosted deployment make it an option for teams seeking an open-source migration tool without a software charge; teams should still account for the operational work of running their own CLI or operator.

Platforms

SchemaHero supports Linux, macOS and Windows installations, and is also distributed as a Docker image. It can be self-hosted or used through its web presence. The Kubernetes Operator is optional rather than a prerequisite for the CLI.

Who it's for

SchemaHero is best suited to engineering teams comfortable declaring database structure in YAML and reviewing generated SQL before applying it. CI and GitOps users can put its planning workflow into documented automation, while Kubernetes teams can add approval steps through the operator. It is less suitable for organizations that require built-in rollback support or rely on a database engine outside its supported set.

Pros and cons

  • Pro: Plan produces SQL without modifying the database, giving teams a clear review point before apply.
  • Pro: It avoids numbered migration files by deriving changes from the current and declared schemas.
  • Pro: Destructive-change policies can fail CI checks, and the tool documents CI and GitOps integrations.
  • Pro: A standalone CLI keeps Kubernetes optional, while the operator adds approval workflows for Kubernetes users.
  • Con: There is no rollback support, leaving teams without a product-provided way to reverse an applied change.
  • Con: Its declarative YAML-to-SQL model may not suit teams that want to manage numbered migration files directly.

Alternatives

For a broader comparison, see Database Migration Tools.

Skeema is worth considering if its free Community plan, which includes tables, stored procedures and functions, and 18 linter checks, or its paid Plus plan better matches your needs. Atlas is another freemium, open-core option with an Apache-2.0 core and advanced features available in proprietary form. Liquibase offers a freemium alternative whose Starter plan is tied to up to five applications and one database type, with a professional services package required for onboarding and implementation.

Bytebase Enterprise may suit teams comparing a paid product with a free Community tier capped at 20 users and 10 database instances. Alembic is a free, MIT-licensed open-source alternative. GitHub Accessibility Scanner and FluentMigrator are also free alternatives. Redgate SQL Provision is a paid option with capacity tiers based on production data volume to provision or mask, ranging from 1TB to 100TB.

Verdict

Choose SchemaHero if your team wants a free, open-source declarative workflow that generates inspectable SQL and can fit into CI, GitOps or Kubernetes approval processes. Its lack of rollback support is the clearest reason to choose another tool, especially where reversing an applied migration is a requirement.

Alternatives to SchemaHero

All alternatives
  1. 1Atlas logo

    Atlas

    Free planOpen sourceWebAPILinuxmacOS
    8.3From $39 a month
  2. 2

    DeepFilterNet

    Free planOpen sourceAPILinuxmacOSSelf-hosted
    7.6Free plan
  3. 3

    pgroll

    Free planOpen sourceLinuxmacOSSelf-hostedWindows
    7.3Free plan
  4. 4Skeema logo

    Skeema

    Free planLinuxmacOSWindows
    6.9From $649 a year
  5. 5Bytebase Enterprise logo

    Bytebase Enterprise

    Free planWebAPISelf-hosted
    6.8From $20 a month
  6. 6

    Sqitch

    Free planLinuxmacOSSelf-hostedWindows
    6.7Free plan