← Docs

Schema metadata format

Step 1 asks your warehouse what tables and columns exist. It reads the catalog — information_schema or its equivalent — and never the tables themselves. No row of your data is selected, and nothing connects to your database.

The eight columns

ColumnWhat it isNeeded
table_schemaSchema or dataset the table lives in.Required
table_nameTable or view name.Required
column_nameColumn name.Required
data_typeDeclared type — BIGINT, TIMESTAMPTZ, NUMERIC(16,4).Required
is_nullableYES or NO. Used to spot optional join keys.Optional
ordinal_positionColumn order within the table.Optional
table_typeBASE TABLE or VIEW.Optional
column_defaultDefault expression, when the catalog exposes one.Optional

The first four are enough to produce a readiness answer. The optional four improve relationship detection, so more columns map automatically.

What NemulAI accepts back

Paste the query result

Comma, tab or pipe separated. Copy straight out of your warehouse console — the header row is detected, and the separator is inferred from the content rather than the file name.

Upload a CSV

The same eight columns. Exported directly from the console is fine.

Paste CREATE TABLE statements

DDL is parsed directly, so a schema dump works without running anything.

Upload .sql, .yml, .json or .txt

dbt manifests, schema YAML and JSON catalogs are recognised by content, not extension.

Generate the query for your warehouse in step 1, or read how each boundary is enforced.