A new column changes the shape of the data. It alters queries, indexes, and joins. It can slow reads. It can speed writes. It can expose new fields to APIs. Every side effect ripples through the stack.
Before you add a new column, define its purpose. Is it nullable? Does it require default values? Will it need constraints or triggers? Decide on the data type with precision. A lazy choice now creates migration pain later.
Plan the migration path. For small datasets, a single ALTER TABLE works. For large ones, a phased rollout avoids downtime. Create the column empty, backfill in batches, then flip features to use it. Monitor the database during each step.