One command, one click, or one line of code—and the table you use today is something entirely different tomorrow. Every schema evolves. Columns emerge, vanish, and mutate. The speed at which you respond defines the speed at which you ship.
When you add a new column, you alter the interface between raw data and every consumer downstream. APIs, reports, caches, and models must adapt instantly. Delay costs money. Drift creates bugs. A schema migration is never only technical—it is operational.
The right workflow makes this safe. Plan the new column in source control. Specify type, constraints, defaults. Apply it in a migration file that can be rolled forward or back. Test against production-like datasets. Push through CI. Deploy with zero downtime. Transactions and locks exist for a reason, but so does staging. Use both.
Adding a nullable column is fast. Adding a non-nullable column to a table with millions of rows demands careful timing. Break change into harmless steps: add the column, backfill data in small batches, enforce constraints later. Avoid blocking writes. Avoid long-running locks. Your database should remain open for business.