Migrate from dbt/SQL
deet is a compiler and typechecker for your warehouse workflows. The migration path is designed to be incremental: start with one model, keep your orchestrator, and gradually add contracts.
Fast path: paste a model into the playground
- Open /playground
- Click Migrate dbt SQL
- Paste a single dbt model query
- Compile, then copy export commands / share a contract link
Project path: migrate a dbt project
deet migrate --project ./path/to/dbt --output migrated-deet
cd migrated-deet
deet check
deet compile --target duckdb
What imports cleanly
- Straightforward SQL models (select/join/filter/group/order)
- Models where table schemas are known (or easy to define)
What tends to break
- Jinja-heavy models and macros
- Dynamic
ref()patterns - Database-specific SQL that relies on dialect quirks
What deet adds
- Typed sources: explicit schemas for your tables
- Typed model contracts: stable interfaces for downstream consumers
- Compile-time errors: catch join/key drift, nullability issues, and type mismatches before runtime
- Portable SQL: compile once for multiple backends
Recommended workflow
- Convert one high-leverage model (the one that breaks most often)
- Add source schemas (manually or via
deet introspect) - Wire
deet checkinto CI so types gate merges - Expand model coverage over time