Adding a new column is simple in theory, unforgiving in practice. It changes the schema. It shifts the shape of your data. If you do it wrong, queries break. If you do it right, systems grow without a hitch.
Start with the migration. Define the column name, data type, and constraints. Use clear, explicit names. Avoid NULL defaults unless they are truly needed. Decide now if indexing is required—adding an index later on a massive table can lock writes and choke performance.
For relational databases like PostgreSQL or MySQL, write migrations that are idempotent. This means they can run more than once without altering the data incorrectly. Test locally, then in staging, with the exact dataset size and load as production. Watch the execution time. A new column on a heavily trafficked table must be applied without downtime or with minimal locking strategies.