The table waits for one more field. You run the migration, and the system gains a new column.
Adding a new column should be instant and without risk. In practice, it can block writes, lock rows, or trigger expensive table rewrites. Schema changes in production demand precision. Choose the wrong approach, and the database slows or fails.
Modern databases give multiple paths. In PostgreSQL, ALTER TABLE ADD COLUMN with a default value can be a full-table rewrite, but adding it without a default is instant. MySQL can use ALGORITHM=INPLACE for certain column additions, while others require a full copy of the table. Each platform has rules about when a new column can be created online.
Plan schema versions ahead of time. Create the new column as nullable with no default. Backfill in small batches to avoid load spikes. Once populated, apply constraints or indexes. This sequence reduces lock time and keeps queries fast.