Adding a new column sounds small. It is not. A schema change shifts the shape of your data. Every insert, update, and query that touches that table is now in play. Indexes may need adjustments. Default values must be set or the migration will choke. If the column is required, you cannot deploy without backfilling old rows.
The safest way to add a new column starts with visibility. Know every service, job, and script that reads or writes the table. Add the column as nullable first. Deploy that. Then update the application code to start writing the new column. Only after all writes are in place should you make it required. This two-step deployment cuts downtime and lets you roll back without data loss.
For high-traffic systems, always test the migration on production-like data. Large tables can lock for minutes or hours during an ALTER TABLE. Use online schema change tools to avoid blocking. Monitor replication lag in case changes slow down secondaries.