# schemahero/schemahero

A Kubernetes operator for declarative database schema management (gitops for database schemas)

Repository: https://github.com/schemahero/schemahero
Canonical: https://ross.abutalabs.com/products/schemahero
Homepage: https://schemahero.io
Language: Go
License: Apache-2.0
License Family: permissive
Topics: database-schema, database-management, kubernetes, kubernetes-operator, gitops, database-schemas, manage-databases, hacktoberfest
Last push: 2026-08-21T17:35:01+00:00

## Health v2 (maintenance only)
Score: 98/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 97, longevity 100
- inputs: {"age_days": 2685, "days_push": 12, "days_rel": 21, "gap_med": 17, "n_releases_24m": 24}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1148, forks 98 (observed 2026-08-28T04:03:46.211043+00:00)

## What it is
SchemaHero is a database schema migration tool that lets you define table schemas declaratively in YAML and generates the SQL needed to reconcile the live database with that desired state. It works both as a standalone CLI (plan/apply workflow) and as a Kubernetes operator that manages schemas as Kubernetes resources, supporting in-cluster and external databases like RDS and CloudSQL.

## Use cases
- manage database schema migrations declaratively with yaml instead of numbered migration files
- run gitops for database schemas in kubernetes
- generate alter table statements from a desired schema definition
- preview sql changes before applying them to a database
- manage schemas for postgres, mysql and other databases across dev, staging and prod
- apply schema changes to cloud databases like rds or cloudsql from a kubernetes operator

## When to choose
- you want declarative, git-reviewed schema changes instead of sequenced migration scripts
- your team runs on kubernetes and wants schemas as cluster resources
- you need the same schema definition to work across empty dev databases and existing staging/prod databases
- you want to see exactly what sql will run before executing it

## When to avoid
- you prefer imperative, hand-written migration files with full control over each step
- you are not using kubernetes and only need a simple migration runner
- you need features like data migrations or seed data, which are out of scope

## Facets
- artifact type: cli-tool
- maturity: active
- function: database, infrastructure-as-code, deployment, developer-tools
- domain: databases, cloud-computing, infrastructure-as-code, developer-tools
- platform: cli, go, cloud, self-hosted
- tags: database-schema, gitops, kubernetes-operator, schema-migration, declarative-schema, database-migrations, plan-and-apply, devops, containers, kubernetes, docker

## Member repositories
- schemahero/schemahero (main) score 98

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:46.211043+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:33:51.710154+00:00, confidence not recorded.
  - readme: https://github.com/schemahero/schemahero (fetched 2026-08-28T04:03:46.211043+00:00, sha 16c8710dd0ac)
  - homepage: https://schemahero.io (fetched 2026-08-29T12:39:06.841735+00:00, sha b4831d9a5f08)
  - site_page: https://schemahero.io/getting-started/concepts (fetched 2026-08-29T12:39:06.850675+00:00, sha 91919edc69b8)
  - site_page: https://schemahero.io/getting-started/quickstart (fetched 2026-08-29T12:39:06.852554+00:00, sha aa05e9d13aed)
- Data as of 2026-08-30T08:39:29.467469+00:00.
