Adding a new column is one of the most common schema changes in production. It can be simple, but at scale it can break queries, lock tables, or cause data drift. The key is to treat every new column as both a design decision and an operational event.
Plan the change. Decide on data type, default values, nullability, and indexing. Choosing the wrong type now will cause migrations later. Decide if the column should allow nulls, if it should have a default value, and if it needs constraints for data integrity.
Write a safe migration. In SQL, ALTER TABLE ADD COLUMN is straightforward:
ALTER TABLE users
ADD COLUMN last_login TIMESTAMP NULL;
On large tables, this can block writes. Use online DDL tools like pt-online-schema-change for MySQL or ALTER TABLE ... ADD COLUMN with LOCK=NONE in supported engines. For Postgres, most column additions without defaults are fast, but adding with a default can lock the table.