Adding a new column is one of the most common schema changes in software. Done well, it unlocks new features, improves performance, and supports cleaner systems. Done poorly, it can cause downtime, lock tables, or slow deployments.
The first step is clarity. Define exactly what the new column will store. Choose the data type based on the smallest format that meets the requirement. Keep it non-nullable only if every existing row can be assigned a value without assumption.
Plan the migration. In production systems, running ALTER TABLE ADD COLUMN can hold locks or block writes. For high-traffic tables, break up the change. Create the column without constraints, backfill data in batches, then add indexes or constraints after the fact.
Consider defaults carefully. Setting a default value for a new column may rewrite the entire table, leading to performance hits. If necessary, add the default after the backfill to minimize heavy writes.