Adding a new column sounds simple. In production, it rarely is. The move can lock tables, stall queries, and spike load. A careless ALTER TABLE can take down live services. Precision matters.
The safest path starts with understanding your database’s behavior under schema changes. PostgreSQL handles most ADD COLUMN operations fast when you supply a default of NULL. MySQL, depending on storage engine and version, might copy the entire table. In sharded or partitioned setups, every node feels the impact.
Backward compatibility is critical. Add the new column without making it required in the application layer. Deploy code that writes to it. Deploy code that reads from it. Only then enforce constraints. This rolling approach avoids downtime and data loss.