Versioned Changes
A database schema evolves constantly as features are added. Schema migration tooling like Flyway, Liquibase, or Alembic turns these changes into ordered, versioned scripts that run the same way in every environment.
How It Works
- Each change is a numbered migration file with an up step and often a down step.
- The tool keeps a schema history table recording which migrations have run.
- On deploy it compares the history to available files and applies only the pending ones.
Because migrations apply in a fixed order, every developer and every server converges on the same schema.
Why It Beats Manual SQL
Running ad hoc SQL by hand drifts environments apart and is hard to audit. Migration tools give a single source of truth, repeatable runs, and a clear record of when each change landed. Most also wrap each migration in a transaction where the engine allows it, so a failed change rolls back cleanly.
Key idea
Schema migration tooling turns schema changes into ordered versioned files tracked in a history table, giving repeatable auditable upgrades instead of drifting manual SQL.