The build was live, but the numbers were wrong. A database change had shipped without the new column that the feature depended on. The logs showed silent failures. The error was simple. The impact was not.
Adding a new column to a production database should be deliberate and fast. The schema change must be backward-compatible. Code and migrations should land in lockstep. Without discipline, you risk downtime, corrupted data, or failed deployments.
Start by defining the new column in a migration script that can run safely without locking the table for long. For relational databases, use NULL defaults or computed values to avoid blocking writes. Deploy the migration separately from the code that writes to the column. This ensures existing queries still work while the schema evolves.