SchemaHero
SchemaHero is a free, open-source database schema migration tool that uses declared YAML definitions to generate SQL changes.
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
- 1

Atlas
Free planOpen sourceWebAPILinuxmacOS8.3From $39 a month - 2
DeepFilterNet
Free planOpen sourceAPILinuxmacOSSelf-hosted7.6Free plan - 3
pgroll
Free planOpen sourceLinuxmacOSSelf-hostedWindows7.3Free plan - 4

Skeema
Free planLinuxmacOSWindows6.9From $649 a year - 5

Bytebase Enterprise
Free planWebAPISelf-hosted6.8From $20 a month - 6
Sqitch
Free planLinuxmacOSSelf-hostedWindows6.7Free plan
