Adding a new column sounds simple. In production, it is not. Schema changes carry risk. They can lock tables, slow queries, or block deployments. The right approach depends on scale, database engine, and uptime requirements.
Start with a clear purpose for the new column. Define its name, type, and constraints before touching the schema. The wrong data type now will cause migrations later that hurt more. Choose nullability and defaults with intention. Avoid heavy defaults on large tables; they can rewrite every row and choke disk I/O.
For small tables, an ALTER TABLE ADD COLUMN can run instantly. On large or heavily used tables, consider online schema change tools like pt-online-schema-change for MySQL or gh-ost. PostgreSQL supports fast column additions if you do not set a default immediately. Populate data in batches to avoid load spikes.