Adding a new column is not just an ALTER TABLE statement. It’s a structural change with ripple effects across schemas, indexes, constraints, and application logic. Before touching production, confirm the column’s data type, default value, nullability, and storage implications. Map how it will be populated for existing rows. Audit every integration point: ORM models, migrations, API contracts, and reporting layers.
Performance matters. A large table with millions of rows can lock during column addition, causing downtime. Plan for non-blocking migrations or phased rollouts. For frequently queried columns, decide early if you need indexes and how that will affect write speed.
Backwards compatibility is critical. Add the new column in a way that allows old code to run until all services are upgraded. Deploy in stages—first the schema, then the code that writes to it, then the code that reads from it. Track changes with automated tests and monitoring to catch regressions fast.