07 · Tables A→ZD · Design the schema
Add a column
Evolve a live table's schema by adding a column - existing rows get NULL.
Add columns to a live table without downtime. Existing rows get NULL for the
new column, so a newly added column must be nullable (or backfilled before you
make it required).
Add
eddytor create column eddytor sales orders --schema-file ./new-columns.jsonThe JSON file describes the new column(s) - the same shape as the MCP columns
array below.
{ "table": "eddytor.cfg_xxx.<uuid>_products", "columns": [
{ "name": "weight_kg", "data_type": "Float64", "nullable": true }
]}After adding
Run the validation loop:
get_table_schema- confirm the column applied.validate_constraints- existing data still passes.
To make the new column required later, backfill it first (e.g. via
merge_rows), then set
is_nullable: false - which is rejected if any NULLs remain.
Good to know
Schema evolution follows Delta Lake conventions and is
recorded as a new version (
ADD COLUMN). Pick types
deliberately - see column types.