The build was almost done when the schema broke. A new column was needed, and everything stopped.
Adding a new column to a production database is one of those tasks that seems simple. It is not. Done wrong, it can lock tables, block writes, or corrupt data. The operation must be atomic, fast, and safe — especially under load. The process starts with a clear schema migration plan. Write the SQL. Test it in staging with production-level volume. Measure the execution time. Watch for locks.
In PostgreSQL, use ALTER TABLE ... ADD COLUMN for most cases. Make sure the default is NULL if the dataset is large. Adding a column with a non-null default rewrites the table and causes downtime. In MySQL, adding a new column may trigger a full table copy unless you use ALGORITHM=INPLACE where possible. In both, ensure the column order is future-proof; changing it later is slower and riskier.