Skip to content

Adapters

MotherDuck

MotherDuck adapter configuration for SQLBuild.

MotherDuck uses DuckDB’s built-in md: connection support. No extra installation needed beyond the core DuckDB dependency.

adapter = "motherduck"
default_target = "dev"
[connections.motherduck]
database = "my_database"
token = "your_motherduck_token"
[targets.dev]
connection = "motherduck"
database = "my_database"
schema = "dev"
Field Description
database MotherDuck database name. Automatically prefixed with md: if not already present. Defaults to md: (your default MotherDuck database).
token MotherDuck access token. Can also be set via environment variable.

MotherDuck requires an access token. Generate one from the MotherDuck UI and pass it via the connection config or an environment variable:

[connections.motherduck]
database = "my_database"
token = "${ENV:MOTHERDUCK_TOKEN}"

Use targets to separate production and development databases on MotherDuck:

adapter = "motherduck"
[connections.motherduck]
token = "${ENV:MOTHERDUCK_TOKEN}"
database = "my_database"
[targets.prod]
connection = "motherduck"
database = "prod_db"
schema = "prod"
[targets.dev]
connection = "motherduck"
database = "dev_db"
schema = "dev"

Use sqlbuild_local.toml to override the adapter for local development against a plain DuckDB file:

adapter = "duckdb"
[connections.local]
database = "local_dev.duckdb"
[targets.dev]
connection = "local"
schema = "dev"

This lets you develop and test locally with zero MotherDuck compute cost, then deploy to MotherDuck in production. SQLBuild’s scenario replay also runs locally in DuckDB regardless of the production adapter.