Adding a new column sounds simple. It isn’t. Done wrong, it locks tables, blocks queries, and stalls deployments. Done right, it ships without a ripple in production traffic.
A new column changes schema, data flow, and sometimes the design of an entire service. Before you add it, know its type, default value, and nullability. Decide if it needs an index. Consider whether the default will be backfilled instantly or lazily.
On large tables, adding a new column can trigger a full table rewrite. That means I/O spikes, higher replication lag, and potential outages. Many relational databases offer strategies to avoid this—PostgreSQL’s ADD COLUMN without a default, MySQL’s ALGORITHM=INPLACE, or using background migrations.