The query returned, but the table was wrong. Missing data. Wrong joins. The fix was simple: add a new column.
A new column is more than a schema change. It changes how your system stores, queries, and indexes information. In SQL, ALTER TABLE table_name ADD COLUMN column_name data_type; is the baseline. But production workloads need more than syntax. Every new column must respect scalability, indexing strategy, nullability, and default values.
In PostgreSQL, adding a nullable column with no default is fast. Adding a column with a default non-null value can lock the table in older versions. In MySQL, ADD COLUMN can rebuild the entire table if certain engine conditions are met. New projects barely notice this; high-traffic systems feel the full impact.
Design the new column for the queries it will serve. Choose the type that minimizes storage and maximizes precision. Use TIMESTAMP WITH TIME ZONE when absolute time matters. Use BIGINT only when integer overflow is possible. Strings should be sized with intent—TEXT is flexible but can affect indexing.