Adding a new column is not a minor change. It reshapes how data flows, how queries behave, and how code interacts with storage. Done well, it’s a clean extension. Done poorly, it’s a source of bugs, downtime, and angry users.
Start with the schema. Decide the name, type, and default. Names must be exact. Types must match what your application logic demands. Defaults prevent NULL surprises in existing rows.
Migrations are the safest path. Write a migration script that adds the column in a controlled sequence. Test it in staging with production-like data. Measure query performance before and after. Watch for table locks.
For high-traffic systems, consider online schema change tools. They allow adding a new column without blocking writes. They make the change invisible to users until the moment you flip the flag.