The migration script failed before the deploy clock hit zero. A missing new column stopped everything.
Adding a new column should be simple, but it can break production if done without care. Schema changes can lock tables, block writes, or trigger cascading errors. In high-traffic systems, a poorly planned ALTER TABLE can cause downtime you cannot afford.
Start with a clear plan. Identify the table. Define the column type, constraints, and default values. Decide if the new column allows NULL or requires initial data. Adding a non-nullable column to a large table means every row is touched. That’s I/O you might not want in the middle of peak traffic.
Use database-specific features to make changes safe. In PostgreSQL, add the column as nullable first, then backfill in batches. In MySQL, consider online DDL if your engine supports it. Check indexes—sometimes a new column needs one, but adding it during the same migration can double the risk window.