The migration failed without warning. A single missing new column broke deployment and left the system hanging.
Adding a new column to a production database should not be an act of risk or guesswork. It needs precision, clear steps, and a rollback plan. Without these, the smallest schema change can lock tables, block writes, or trigger hidden bugs in application code.
Start with a full audit of where the new column will be used. Identify read paths, write paths, triggers, and stored procedures. Ensure the application layer can handle rows with null values until the migration is complete. In code, release support for the new column before you apply the schema change itself. This prevents deserialization errors and partial writes.
Use a two-phase deployment. First, add the new column in a way that does not block traffic. Avoid long-running ALTER TABLE operations by using online schema change tools. Test replication lag and confirm indexes are updated without degrading query performance.