The migration failed at 02:13. One missing column stopped the entire release.
A new column can look simple. One line in a migration. A quick schema update. But the way you add it shapes the stability, speed, and safety of your database. Do it wrong, and you lock tables, block writes, or corrupt live traffic. Do it right, and you deploy with zero downtime.
To add a new column in SQL, start with safety. On large datasets, ALTER TABLE ... ADD COLUMN can trigger a full table rewrite. That means latency spikes and blocked queries. In MySQL, adding a column with a default value before 8.0.12 rewrites the table. In PostgreSQL, adding a column with a constant default after version 11 is fast, but adding an expression forces a rewrite.
Plan the change in stages. First, add the column as nullable with no default. This makes the migration instantaneous or near it. Then backfill values in small batches with controlled transactions. Once complete, set defaults and add constraints in a separate migration. This reduces lock times and keeps the system responsive.