Adding a new column to a production database can be trivial or dangerous. Trivial when planned. Dangerous when schema changes block writes, lock tables, or ripple through every query and API call. The key is knowing which approach fits the urgency, the schema, and the deployment model.
In SQL, adding a new column is simple:
ALTER TABLE users ADD COLUMN last_login TIMESTAMP;
This works, but on large tables it can trigger a full table rewrite, slow queries, or cause downtime. For Postgres, newer versions allow adding nullable columns with defaults in constant time, but non-null constraints or foreign keys need care. MySQL and other systems have their own performance profiles.
When data migrations run in production, use tools that make schema changes without locking writes, such as pt-online-schema-change for MySQL or pg_online_schema_change for Postgres. Test every migration in a staging copy of production before running live. Monitor I/O, replication lag, and error logs during the change.