Adding a new column is more than altering a table. It touches performance, storage, and application logic. The wrong type choice can slow queries by seconds. The wrong default can trigger data rewrites that lock your production database. Even the right column in the wrong place can break replication or trigger unexpected load.
Plan every new column like you would plan a release. Define the data type precisely. Avoid NULL unless it’s required. Use defaults that work without backfilling millions of rows. If the table is large, add the column without defaults, then backfill in controlled batches. Always monitor metrics after deployment.
Choose column names that are clear and final. Renames cost far more than a few keystrokes. Be exact with case, underscores, and abbreviations. Design for both human and machine readability.