A new column is not just a field in a table. It changes queries, indexes, and the application code that depends on them. In production, adding a new column can be the smallest migration on paper and still break everything if done wrong.
The first question: nullable or not. Adding a NOT NULL column with no default will lock writes in some databases. On live systems with high traffic, a blocking migration can halt entire services. The safest path is often to add the new column as nullable, backfill data in batches, and only then apply constraints.
Second, consider indexing. Indexing a new column can improve queries, but creating the index in production may lock reads. Use concurrent index creation where supported. Test query plans before and after the change to confirm performance gains.
Third, check dependent services. API responses, ETL jobs, and analytics pipelines might need to read or write the new column. Update schemas in shared contracts. Deploy app changes in a sequence that tolerates partial rollout: read the column when it exists, ignore it otherwise.