Adding a new column can be the smallest change in a database schema and still carry the highest risk. Done wrong, it locks writes, burns CPU, and takes your app down. Done right, it ships faster than your users can refresh the page.
A new column changes the shape of your data. Before you touch production, define the column name, type, default value, and constraints. Use a migration file that can run in a transactional context. Avoid nullable columns unless you have a clear reason; design for explicit values to keep queries predictable.
For large tables, adding a new column without downtime requires online schema change techniques. PostgreSQL can add columns with defaults instantly in newer versions, but older versions may rewrite the table. MySQL’s ALGORITHM=INPLACE can help, but it depends on storage engine and version. Always test migrations against a full-scale copy of production data.