Adding a new column to a database can be deceptively dangerous. Schema changes touch the core of how data is stored, retrieved, and served under load. Done wrong, you get downtime, lock contention, broken queries, or corrupt data. Done right, you get future-proof growth and zero-impact deployments.
The first step is defining the new column in a migration script. Keep it explicit—set column name, type, nullability, and defaults. Avoid guessing at constraints later. If the column is non-nullable, consider creating it as nullable first, backfilling data in batches, then switching it to non-nullable to prevent full-table locks.
For high-traffic systems, use online schema migrations or zero-downtime migration tools. MySQL users can leverage pt-online-schema-change or gh-ost. PostgreSQL users can use ADD COLUMN for most cases, but be careful with default values, as they can lock the table. Instead, set the default separately after creation, or update rows in small transactions.