Adding a new column to a database table seems small. It is not. It changes structure, queries, indexes, and performance. It can require migrations, careful timing, and downtime risk. Get it wrong, and you can lock tables or block requests in production.
The fastest path is to define the new column in your migration file. Use clear types. Set defaults that match existing data patterns. Avoid nulls unless you have a real reason. Document every new column in the schema definition, migration history, and code comments so no one can guess its purpose months later.
For SQL databases, add new columns with ALTER TABLE ... ADD COLUMN. This is often safe for small tables. For large tables, break the change into steps. Add the column without constraints. Backfill data in batches. Then add indexes or constraints once the column is populated. For PostgreSQL, adding a column with a default value on a large table can lock writes—so add the column as nullable, populate data, then set the default.