Create an empty table from a schema
Define typed columns, a primary key, and constraints, then create the Delta table.
Create a table by defining its columns up front. At least one column must be the
primary key. The table is written as a Delta table at a location under a
registered storage connection.
Create
The CLI takes a bare table name, a storage --location, and the schema
as a JSON file (--schema-file):
eddytor create table orders \
--location s3://your-bucket/master-data \
--schema-file ./orders-schema.json \
--description "Order master data"orders-schema.json lists the columns (name, data_type, nullable,
is_primary_key) and any constraints - the same shape as the MCP body. Add CHECK
constraints later with eddytor create constraint.
{
"table_name": "products",
"location": "abfss://mdm@storage.dfs.core.windows.net/master-data",
"description": "Product master data",
"columns": [
{ "name": "product_id", "data_type": "Utf8", "nullable": false, "is_primary_key": true },
{ "name": "name", "data_type": "Utf8", "nullable": false },
{ "name": "price", "data_type": "Decimal(20,4)", "nullable": true }
],
"constraints": [{ "name": "price_positive", "expr": "price > 0" }]
}The rules that bite
Heads up
table_name is bare (products) - never
catalog.schema.products. location is a full storage URL - not a relative
path. At least one column needs is_primary_key: true.- Pick types deliberately - see Column types & nullability.
- CHECK constraints (
{ name, expr }) are SQL expressions evaluated on every insert/merge - bad data never lands. - Column names are case-sensitive.
Partitioning
Heads up
Verify
Confirm it landed and inspect the schema:
eddytor get tables
eddytor describe table eddytor sales ordersDemo table
Want to try the tools without bringing your own data? Seed a small, realistic
demo_products table - typed columns, a primary key, and sample rows -
into a storage connection:
eddytor create demo-table <config-id>create_demo_table(config_id="…")It's a normal table - drop it when you no longer need it.
Other ways to get a table
Have a CSV? Import it - Eddytor infers the schema and creates the table in one step.