A versioned, usually irreversible script that changes a database's schema or data โ adding a column, renaming a table, backfilling values.
In practice: Migrations that run automatically on deploy require careful ordering and rollback planning โ a migration that drops a column while the old code is still live will break it before the new code is deployed. Zero-downtime migrations usually require multi-step deploys.