Adding a new column sounds simple. In production, it is not. Schema changes touch code paths, performance, and uptime. A single ALTER TABLE can lock rows, block writes, and slow reads. In systems with millions of records, the risk compounds.
The right way to add a new column starts with knowing the database engine. PostgreSQL handles new columns with default NULL values instantly. MySQL may need a full table rewrite depending on the type. Always check engine version and storage format before running the operation.
Decide if the column will have a default value. Setting a default and populating it in the same step can be expensive. In high-traffic databases, add the column as nullable, deploy the code that writes to it, and then backfill in controlled batches. Only after backfilling should you enforce NOT NULL.