Adding a new column changes a schema’s shape. It changes the contract between code and database. In SQL, it sounds trivial:
ALTER TABLE orders ADD COLUMN status TEXT;
But this single line can ripple through APIs, services, and pipelines. It can lock writes, spike CPU, and trigger downstream bugs if handled without care.
A new column should never be an afterthought. First, decide if it belongs in the current table or if data normalization demands a new entity. Assess default values to avoid null headaches. When working with large datasets, use non-blocking migrations. On PostgreSQL, adding a nullable column without defaults is instant; setting defaults later can be done in batches.