The query landed. The table was live. But the product team needed one more thing: a new column.
Adding a new column is routine work that can still break production if done without care. Schema changes touch live data. They can block writes. They can spike CPU and lock indexes. The safest path is to apply the migration in controlled steps.
First, define the column in your migration file. Use the correct data type and constraints from the start to avoid future rewrites. For example, in PostgreSQL:
ALTER TABLE orders ADD COLUMN fulfillment_status TEXT DEFAULT 'pending' NOT NULL;
Run this change in a migration tool that logs execution time and errors. Test the migration against a staging database with production-sized data. Watch how it affects query plans. If the table is huge, consider adding the column without constraints, backfilling in batches, and then adding NOT NULL or indexes afterward.