Adding a new column should be simple, but in production it can be dangerous. Schema changes that look harmless in development can lock tables, block writes, or break code paths. The right process turns a risky change into a safe, repeatable operation.
First, define the new column in your schema migration tool. Include explicit types, default values where required, and ensure nullability is intentional. Avoid large default values that rewrite the entire table. For high-traffic tables, use online schema change tools such as pt-online-schema-change or gh-ost to avoid blocking queries.
Second, deploy the application in a state that works with and without the new column. This means backward-compatible code that ignores missing data until the migration is complete. By decoupling schema changes from code changes, you prevent downtime on rolling deployments.