When you add a new column, you are changing both your data model and the behavior of your queries. The operation must be fast, backward-compatible, and predictable in production. That means choosing the right data type, default values, and nullability before it goes live.
In PostgreSQL, adding a new column with a default on a large table can trigger a full table rewrite. On MySQL, storage engines handle new columns differently, and indexing a new column right away can block writes. With modern databases built for high-traffic systems, you need to test schema migrations in staging using production-scale data.
If you plan to backfill the new column, decide between online migrations or background jobs. Online operations reduce downtime but require careful resource limits. For calculated values, generate them in code until the new column is ready for direct writes. This prevents locking and service interruption.