The first migration tool that versions Vitess VSchema. Vindexes, sharding keys, and sequence tables managed in YAML migrations. Online DDL monitored per shard. Other tools fire ALTER TABLE and marks it done — vitesschange waits for every shard to confirm.
Other tools have no concept of VSchema. They connect to VTGate and fire SQL statements — which means vindexes, sharding configuration, and sequence tables are never versioned, never audited, and never rolled back.
ALTER VSCHEMA DDL, applied to the correct keyspace in the correct order. Every VSchema change is checksummed, timestamped, and audit-logged.ddl_strategy=vitess, it creates background jobs per shard with unique UUIDs. Other tools fire the statement and mark the migration done immediately. vitesschange polls SHOW VITESS_MIGRATIONS until every shard reports complete — and surfaces the exact failure reason per shard UUID if anything fails.VSchema is the brain of Vitess routing. vitesschange is the only tool that treats it as source-controlled infrastructure.
Other tools see Vitess as MySQL. vitesschange sees the sharding layer underneath.
| Capability | vitesschange | Other tools | Plain MySQL client |
|---|---|---|---|
| SQL DDL migrations | ✓ | ✓ | manual |
| VSchema migrations (vindexes, sharding) | ✓ YAML | ✗ | ✗ |
| Online DDL per-shard monitoring | ✓ SHOW VITESS_MIGRATIONS | ✗ | ✗ |
| Online DDL failure details per shard | ✓ UUID + reason | ✗ | ✗ |
| vtcombo auto-detection + fallback | ✓ from error msg | ✗ | ✗ |
| Dedicated history keyspace | ✓ isolated | ✗ | ✗ |
| Sequence table lifecycle | ✓ YAML | ✗ | ✗ |
| Doctor — keyspace split-brain detection | ✓ | ✗ | ✗ |
| Drift detection (excl. _vt_* tables) | ✓ | ✗ | ✗ |
| Immutable audit log | ✓ | basic | ✗ |