The database was ready, but the schema was wrong. You needed a new column, and the clock was already against you.
Adding a new column is simple in theory, but in production it can be high risk. It changes the shape of your data. It can block queries. It can lock tables. It can break integrations no one remembered existed.
The first step is to decide the exact column name, type, and constraints. Be explicit. Avoid generic names. Choose the smallest data type that fits the need. Define nullability and default values up front to avoid surprises during the migration.
Next, plan the migration path. In SQL, the syntax is direct:
ALTER TABLE orders ADD COLUMN processed_at TIMESTAMP NULL;
But the database engine matters. In PostgreSQL, ALTER TABLE with a default value rewrites the table. In MySQL, adding a column to a large table can hold a write lock for minutes or hours. Use online schema change tools if your dataset is large.