diff --git a/README.md b/README.md index 7e6aee01f..a128d6c1f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # SchemaBot SchemaBot +![MySQL: GA](https://img.shields.io/badge/MySQL-GA-brightgreen) +![Vitess: GA](https://img.shields.io/badge/Vitess-GA-brightgreen) +![PostgreSQL: early alpha](https://img.shields.io/badge/PostgreSQL-early_alpha-orange) + GitOps for database schemas. Define your desired schema in SQL files, open a PR, and SchemaBot plans and executes your schema changes safely. ## Schema Changes via Pull Request @@ -46,7 +50,7 @@ status=completed SchemaBot handles the full lifecycle: - **Plan** — diff desired vs current schema → compute DDL -- **Apply** — execute DDL online using Spirit (MySQL) or PlanetScale deploy requests (Vitess) +- **Apply** — execute DDL online using [Spirit](https://github.com/block/spirit) (MySQL), [PlanetScale deploy requests](https://planetscale.com/docs/vitess/schema-changes/deploy-requests) (Vitess), or [pg-sprite](https://github.com/block/pg-sprite) (PostgreSQL) - **Progress** — track row copy progress, ETA, per-table/per-shard status - **Control** — `stop` (pause), `start` (resume), `volume` (adjust speed), `cutover` (trigger table swap), `revert` (roll back) @@ -82,7 +86,7 @@ General design docs are in the [docs](./docs/) folder. Releases are published as binaries on the [GitHub Releases page](https://github.com/block/schemabot/releases), as container images at `ghcr.io/block/schemabot`, and, if you run Kubernetes, as a Helm chart at `oci://ghcr.io/block/charts/schemabot`. -We run what we ship. Every tag is deployed to production at Block, where SchemaBot applies Block's own schema changes, which keeps the project continuously validated against real production workloads and gets fixes out fast. Because SchemaBot is pre-1.0, the release notes are the compatibility contract: give them a read before upgrading. +We run what we ship. Every tag is deployed to production at Block, where SchemaBot runs the majority of Block's schema change traffic across a large fleet of MySQL and Vitess databases (with PostgreSQL planned). We actively use SchemaBot to run schema changes against tables of many shapes and sizes, with some spanning many terabytes in MySQL and 100s of shards in Vitess. Our release cadence keeps the project continuously validated against real production workloads and gets fixes out fast. Because SchemaBot is pre-1.0, the release notes are the compatibility contract: give them a read before upgrading. See [docs/release.md](./docs/release.md) for how releases are cut and what is checked before a tag is published.