offdata ai — agentic AI for data modelers and data engineers

DuckDB

AI DuckDB schema generator

Describe your domain or pick a template, choose DuckDB, and get clean DuckDB DDL with keys, history and audit columns, from the same model that ships to your production warehouse.

ddl/duckdb.sqlduckdb
CREATE SCHEMA IF NOT EXISTS marts;

CREATE TABLE IF NOT EXISTS marts.dim_customer (
    customer_sk BIGINT NOT NULL,
    customer_id VARCHAR NOT NULL,
    plan_id VARCHAR,
    attributes JSON,
    effective_date TIMESTAMP NOT NULL,
    expiry_date TIMESTAMP NOT NULL,
    is_current BOOLEAN NOT NULL,
    PRIMARY KEY (customer_sk)
);

CREATE TABLE IF NOT EXISTS marts.fct_usage (
    usage_id VARCHAR NOT NULL,
    customer_sk BIGINT NOT NULL,
    event_ts TIMESTAMP NOT NULL,
    api_calls BIGINT NOT NULL,
    PRIMARY KEY (usage_id),
    FOREIGN KEY (customer_sk) REFERENCES
        marts.dim_customer(customer_sk)
);

DuckDB has become the default way to prototype analytics locally. OffDataAI treats it as a first-class target: the same validated model that produces Snowflake or BigQuery DDL also compiles to DuckDB, with native types, schemas, primary and foreign keys in dependency order, and SCD2 history columns. Prototype on your laptop, then switch the target platform when you are ready for production.

What OffDataAI generates for DuckDB

  • DuckDB-native DDL

    VARCHAR, BIGINT, DECIMAL, DOUBLE, TIMESTAMP, JSON, UUID and BLOB, with CREATE SCHEMA and CREATE TABLE IF NOT EXISTS.

  • Keys in the right order

    Primary and foreign keys are emitted and tables are ordered by dependency, so the script runs top to bottom.

  • History and audit columns

    Type 2 dimensions get effective_date, expiry_date and is_current; audit columns are added where the model asks for them.

  • One model, eight platforms

    Switch the target to Snowflake, BigQuery, Databricks, Redshift, Synapse, Fabric or Postgres without remodeling.

Frequently asked questions

Can OffDataAI generate DuckDB DDL?
Yes. DuckDB is one of eight target platforms. Choose DuckDB and OffDataAI emits DuckDB-native CREATE SCHEMA and CREATE TABLE statements from your validated model.
How are types mapped to DuckDB?
Model types map to DuckDB types: strings to VARCHAR, integers to INTEGER, BIGINT or SMALLINT, decimals to DECIMAL, floats to REAL or DOUBLE, timestamps to TIMESTAMP, semi-structured data to JSON, identifiers to UUID and binary to BLOB.
Does the DDL include keys and history?
Yes. Primary keys and foreign keys are emitted, with tables created in dependency order so references resolve. Type 2 slowly changing dimensions get effective_date, expiry_date and is_current columns, and audit columns are added where the model asks for them.
Why model for DuckDB?
DuckDB is a fast in-process analytics database that is popular for local development, prototyping and embedded analytics. Modeling once in OffDataAI lets you prototype on DuckDB and ship the same model to Snowflake, BigQuery, Databricks or another warehouse.
Which modeling paradigms are supported?
Kimball dimensional models, Data Vault 2.0 and 3NF, from the AI interview, a template or an imported database.

Your data warehouse is one conversation away.

Describe your domain, or open one of 170+ production-grade templates. ERDs, DDL, and a complete dbt project — generated in under a minute.