The database was fast, but the change had to be made now. A new column. One field to unlock a feature, fix a bug, or store data the old schema could never hold.
Adding a new column is simple in syntax, but never trivial in production. The wrong migration can lock tables, burn latency budgets, and take down services. The right migration adds capability without risk.
Plan the change. Decide on column type, nullability, defaults, and indexing. Do not guess. Measure the impact of new indexes on query execution. For null defaults, know how your ORM or driver handles them before the first deploy.
Run migrations in stages. First, create the new column without constraints. Let it replicate, sync, and warm into the read paths. Then backfill in small controlled batches. Monitor CPU, I/O, and replication lag. Only after safe verification should you add constraints or drop deprecated fields.