Adding a new column sounds simple. In production, it can break workflows, stall deployments, and make data inconsistent. Schema changes are not just code — they are live operations against systems that cannot afford downtime.
A new column alters the shape of every row in a table. That one change touches queries, indexes, constraints, and application logic. On large datasets, it forces a full rewrite at the storage layer. That means locks, cache invalidations, potential replication lag. If you misjudge the cost, you can choke performance for minutes or even hours.
Before you add a new column, map every downstream dependency. Check ORM models, raw SQL, API payloads, test fixtures. If you miss one, you risk silent errors. Don’t rely on defaults. Explicitly set nullability, type, and default values. Every new column should have a migration plan and rollback strategy.