Drop a table
drop_table removes a table's data and Delta log - irreversible, no time-travel after - and is refused while referenced.
drop_table permanently deletes a table - all its data and Delta-log files.
It is irreversible: there is no undo, and no time-travel,
rollback, or restore
afterward (the log they'd need is gone).
Drop
eddytor delete table eddytor sales ordersRemoves the table's Delta files from storage and deregisters it - storage and Eddytor's metadata stay consistent.
DELETE /v1/tables/eddytor/sales/orders
Authorization: Bearer edd_live_…drop_table(table="eddytor.cfg_xxx.<uuid>_orders", confirm=true)Safety guards
Heads up
confirm=true is required (omitting it, or false, is
rejected). Dropping needs the Builder or Admin role. And it's refused while
another table references this one via a domain - see
Blocked drops below.Alternatives - when you don't actually want it gone
- Reorganising? Rename or move instead - both keep the data.
- Want a copy first? A final
query_rows/ Flight SQL read, or download the objects, before dropping. - Just clearing rows? Delete rows keeps the table (and stays recoverable until vacuum).
Blocked drops
drop_table (and rename / move) is
refused while another table references this one through a cross-table
reference domain. The reference is a
live foreign-key-style link, so Eddytor won't let you pull the source out from
under it: a reference domain on table B points its column at a column in table A,
and dropping (or renaming/moving) A would orphan B's constraint. There is no
force flag.
To unblock it:
- Find the dependents - which tables have a reference domain pointing at this
one. A blocked operation is itself the signal; check domain usage (
eddytor get domain-usage) / inspect withget_allowed_values. - Remove the dependent reference first -
delete_column_domainon the referencing column in the dependent table(s). - Then drop / rename / move the source table.
Good to know
product_type), then the child
(subcategory), then the parent (category).Orphaned data at the S3 layer
drop_table removes the Delta files and deregisters the table, so the object
store and Eddytor's discovery stay in sync. Don't delete at the S3 layer
instead - that leaves
stale discovery / metadata until the
next discovery pass. Reach for the storage layer only as a last resort, for
orphaned data Eddytor genuinely no longer tracks - see
Managing & deleting at the S3 layer.