Adding a new column in a production database is simple in theory. In practice, it touches code, migrations, indexes, and queries. The wrong move locks a table under load. The wrong type choice burns storage and slows scans. The wrong default blocks writes for minutes.
To add a new column safely, start with the migration plan. In SQL databases, use ALTER TABLE ADD COLUMN with a nullable type or a default that is not computed at runtime. This avoids full table rewrites. For large datasets, skip setting a default in the schema change. Instead, backfill values in batches, then set the default afterward.
Keep concurrent reads and writes in mind. Analyze how queries interact with the new column. If you need it indexed, create the index after the column exists and data is populated, using concurrent index creation if your database supports it. Test the full path in staging with production-scale data before touching production.