When you add a new column to a database table, you are modifying the contract between your application and its data. The schema must stay consistent. Every dependent query, API, and service will expect this column to exist with defined rules. That means you decide its type, nullability, default values, and indexes before it lives in production.
Performance matters. In relational databases, adding a column can lock the table. On large datasets, this operation can be slow or disruptive. Choose migrations that minimize downtime. Test them on staging with production-like load. For new columns that need computed values, batch backfill in small chunks to prevent blocking writes. If your database supports online DDL, use it.
Compatibility matters. Adding a new column to a live table means clients must handle it immediately. This requires versioned deployments. First, release the code that can read the column. Then, add the column. Finally, start writing to it. This phased rollout prevents null-related bugs and keeps services synchronized.