You scan the schema. The table is fine. The indices are fine. Then you see it: a missing new column.
Adding a new column in production is not just a schema change. It changes queries, migrations, and potentially the performance profile of the system. The wrong approach can lock tables, stall deployments, or expose inconsistent states to users.
Plan the column definition first. Decide the name, data type, default values, nullability, and whether it needs indexing. Changing these later often costs more than doing it right the first time.
If you must add a new column with a default value on large tables, avoid defining the default at creation in systems that rewrite the entire table. Instead, create the column as nullable, backfill in batches, then enforce constraints. This minimizes locking and reduces migration risk.