Adding a new column sounds simple. It isn’t. In production, schema changes are live surgery. A mistimed migration can lock writes, block reads, or break downstream jobs. Scope the change. Choose the right type. Test the migration against real data volume.
Relational databases handle new columns differently based on engine and storage. In PostgreSQL, adding a nullable column without a default is near-instant. Adding a column with a default rewrites the table. MySQL can be fast for some column types but slow for others; check the storage engine. For large datasets, even small changes can cause downtime if not handled correctly.
Plan the deployment. Stage the migration in non-production with full-size data. Avoid triggers that fire unnecessarily. Use online schema change tools if your database needs them. Roll out in phases when traffic is low. Keep rollback scripts tested and ready.