Adding a new column is simple to describe but easy to break. It is the smallest schema change that can ripple through an entire system. A single alter statement can lock a table, stall queries, and trigger rollback storms in production.
In most relational databases, you add a new column with ALTER TABLE. But the command is only the start. You must define the column type, the nullability, the default value, and the constraints. You must check if the new column will support existing indexes or if you will need to add one.
Adding a NOT NULL column to a large table can lock writes. In MySQL, you can use ALGORITHM=INPLACE or ALGORITHM=INSTANT to reduce locking time. In PostgreSQL, adding a nullable column is near-instant, but setting a default value will still rewrite the table unless you use a computed default.
Application code must adapt at the same time. Migrations that add new columns should be backwards-compatible with old code. Deploy the schema change first, deploy code that uses the column later. Remove the feature flags only after the new column is populated and stable.