Adding a new column should be simple. It rarely is. The database holds more than just data. It holds contracts between code, systems, and people. Adding a column the wrong way can lock tables, block writes, and send errors upstream.
A new column changes schemas. It forces updates to migrations, ORM models, API payloads, and sometimes entire pipelines. The right approach starts with precision. Define the column. Choose the type. Set defaults that will not trigger full table rewrites unless you must.
For relational databases like PostgreSQL and MySQL, ALTER TABLE is the tool. But in production, run it with caution. Adding a nullable column often completes instantly. Adding a non-null column with a default can rewrite every row. Split the work. First add the column as nullable. Backfill data in controlled batches. Then add constraints. This avoids downtime and keeps systems responsive.