A new column in a database is never just another field. It changes the shape of your data, the logic of your queries, and the performance of your system. Done poorly, it slows everything down or breaks production. Done well, it extends capability with zero downtime.
Before adding a new column, confirm its data type, default values, and nullability. Every choice here has consequences. A nullable column can simplify migrations but complicate application logic. A NOT NULL column may require backfilling millions of rows before release.
In SQL, adding a new column is straightforward:
ALTER TABLE orders
ADD COLUMN delivered_at TIMESTAMP NULL;
Yet the operational reality is more complex. On large tables, this can lock writes, forcing downtime. For PostgreSQL, use ADD COLUMN with a default only if the server version supports fast column addition without rewriting the table. In MySQL, consider ALGORITHM=INPLACE and LOCK=NONE where possible.
New column additions also affect indexes. Adding the field to an existing index can accelerate queries but slow down inserts and updates. Avoid indexing until real query patterns emerge.