Adding a new column is one of the most common database changes. It looks small but touches every layer: schema, queries, APIs, downstream consumers. Done well, it adds capability without risk. Done poorly, it can block deploys or corrupt data.
Define the column with precision. Choose the right data type over the fastest guess. Avoid NULL defaults unless they have a clear meaning. Consider indexes only if queries require them; each index slows writes.
Plan for deployment in stages. First, add the column with no constraints. Then backfill data in small batches to avoid locking large tables. Once data is complete, enforce constraints and update application code to use the new field. This process keeps the system online and responsive.