Adding a new column is routine, but mistakes here cascade. A poorly planned change can lock rows, break services, or corrupt data. Even when the migration is small, downtime can ripple through a production environment. The key is precision: define the column, set the type, default values, and constraints before a single deployment step.
Start with the migration script. In SQL, ALTER TABLE ADD COLUMN is standard, but behavior changes by database. PostgreSQL allows adding a nullable column instantly, but adding a non-null column with a default can rewrite the entire table. MySQL locks on some operations unless you use ALGORITHM=INPLACE. Understand the implications before you run it on live data.
Run the change in staging with production-scale data. Profile the run time. Watch the query planner and locks. Test rollbacks. If the column needs an index, consider adding it in a separate migration to avoid compounding the load.