Adding a new column is one of the most common schema changes in production systems. It looks small. It can break things. Code, migrations, indexes, queries, and data paths must align.
First, define the exact column name and type. Avoid vague names. Use a type that matches the real shape of the data. Changing this after release is costly.
Second, plan the migration. In relational databases, adding a new column can lock the table. On large datasets, this impacts performance. Use non-blocking migrations if the engine supports them. In PostgreSQL, adding a column with a default that is not a constant rewrites the table. Add it NULL first, then backfill in batches.
Third, update the application code. Make the system tolerate both old and new states during deployment. Deploy the column first. Deploy code that writes and reads it next. This prevents race conditions and intermittent failures.