This hub connects the garden notes covering migration from Dataform to dbt. The source article is Migrating from Dataform to dbt: A Step-by-Step Guide.
Decision & Planning
- Dataform-to-dbt Migration Decision Criteria — When migration makes sense, when to stay put, break-even calculation, and realistic timelines.
Core Migration Reference
- Dataform-to-dbt Concept Mapping — The translation table: refs, configs, sources, materializations, directory structure, and feature gaps between the two tools.
- JavaScript vs Jinja in Analytics Engineering — The philosophical and practical differences in templating, including macro conversion and the dynamic model generation gap.
Validation
- dbt Migration Validation Patterns — Parallel execution, comparison queries at three levels, ML regression testing, and phased cutover strategy.
Related dbt Fundamentals
These existing notes cover dbt concepts referenced throughout the migration process:
- dbt Three-Layer Architecture — How
definitions/maps tomodels/organized by base, intermediate, and marts layers. - dbt Macros — Jinja fundamentals and macro patterns, essential for converting Dataform JavaScript includes.
- dbt Testing Taxonomy — How Dataform assertions translate to dbt’s testing model (generic, singular, unit, contract, package-based).
- Incremental Models in dbt — Strategy details for converting Dataform incremental models to dbt.
- dbt BigQuery Configuration — profiles.yml setup, authentication, and cost controls for the BigQuery adapter.
- SCD Type 2 with dbt Snapshots — A dbt capability with no Dataform equivalent.
- dbt Project Structure and Naming — Naming conventions and folder organization in dbt projects.