The table had outgrown itself. You stare at the schema. It worked once. Now it needs a new column.
Adding a new column should be simple. In practice, it can be dangerous. It can block writes. It can lock tables. In some systems, it can take minutes or hours. In the wrong environment, it can take production down.
The ALTER TABLE ... ADD COLUMN command is the standard way. Most relational databases support it: PostgreSQL, MySQL, MariaDB, SQL Server, and others. The execution path is different in each engine. PostgreSQL can add a nullable column with a default in constant time if no data rewrite is required. In MySQL, adding a column often forces a table copy unless you use ALGORITHM=INPLACE or INSTANT where supported. These details matter at scale.
When you add a new column, decide on nullability, default values, indexing, and constraints before touching the production schema. Test on a staging copy with realistic data. Check the query plan. Ensure application code is backward-compatible so it ignores the missing column before deployment and uses it only after the migration is complete.