The migration was halfway done when the alert fired. All processes froze because the schema change hit a single fragile point: adding a new column.
A new column can be a lightweight improvement or a production risk, depending on execution. Database engines treat schema changes differently. In some systems, adding a new column requires a full table rewrite. On large datasets, that can lock writes and block reads. In others, it can be near-instant if the column is nullable or has no default. Understanding the execution path is the difference between a seamless deploy and a midnight rollback.
Before creating a new column, measure table size, index count, and I/O load. Schema metadata can reveal if the operation will be online or blocking. Check engine support for instant DDL. MySQL, PostgreSQL, and modern cloud databases have improved, but safe defaults still matter. Often, the fastest path is to add the column first as nullable, backfill in batches, then enforce constraints once data is complete.