The migration failed. A single schema change broke the build, and all eyes turned to the release notes. The problem was simple: someone added a new column.
Adding a new column in a production database is never just one command. It changes contract boundaries. It affects queries, indexes, defaults, and replication. In large systems, even a schema addition can cascade into latency spikes, lock contention, or deployment stalls. The safest teams treat ALTER TABLE ... ADD COLUMN as a coordinated operation, not a quick fix.
The first step is to understand how your database engine handles a new column. Some engines block writes during the operation. Others apply instant metadata changes but defer actual writes until row-level access. Know the exact behavior in MySQL, PostgreSQL, or your chosen DB before you run the migration.
When adding a column, define defaults carefully. A DEFAULT value can trigger a full table rewrite, depending on the engine and version. If instant add is supported, but you define a non-nullable column without a default, the migration will fail. Use nullable columns for the first deployment, then backfill in small batches. After verifying, alter the column to non-nullable.