Adding a new column is more than typing an ALTER TABLE command. It shifts how data flows, how queries run, and how systems scale. Done well, it adds power without breaking the past. Done poorly, it stalls deployments and clutters code.
Start with intent. Define exactly what will live in the new column. Pick the right data type. Consider precision, size, and nullability. Every extra byte stored in each row matters when the table holds millions of records.
Run the migration in a way that won’t block writes. Use online schema change tools when working in production. Test the change on a replica before touching the primary. If the database supports adding a column with a default, check how it writes that default—some engines rewrite every row, which can lock the table for too long.