ServicesAboutNotesContact Get in touch →
EN FR
Note

dbt-to-Dataform Migration Hub

Hub note for migrating from dbt to Dataform — the decision, the concept mapping, the procedural steps, and what you'll lose. For BigQuery teams evaluating the switch.

Planted
dbtdataformbigquerydata engineering

This hub covers the decision to migrate from dbt to Dataform and the procedural steps if you proceed. At $100/user/month, a 10-person analytics team pays $12,000 annually for dbt Cloud. Dataform offers comparable transformation capabilities at zero licensing cost for BigQuery users, but the migration has real costs and trade-offs beyond the licensing comparison.

Prerequisites

This migration is only relevant if you are a BigQuery-exclusive team. Dataform works with BigQuery and nothing else. If there’s any chance of adding Snowflake, Databricks, or another warehouse in the next few years, this decision is already made for you: stay on dbt.

You should be familiar with:

  • Dataform as a GCP Service — what Dataform actually is and how it integrates with the GCP ecosystem
  • Dataform-dbt Concept Mapping — the translation table between the two tools’ syntax

The Decision

Start here before looking at any procedural steps.

What You’ll Lose

These notes document the gaps. Read them before committing.

The Migration

If you’ve decided to proceed:

  • Dataform-dbt Concept Mapping — Reference table: refs, configs, sources, materializations, directory structure, feature gaps.
  • JavaScript vs Jinja in Analytics Engineering — The macro conversion problem in depth: where the syntax translation is mechanical and where it requires rewriting algorithms.
  • dbt-to-Dataform Migration Process — The six-step procedural guide: auditing your project, running the automated tool, converting macros to JavaScript includes, recreating tests as assertions, setting up orchestration, and validating in parallel.
  • dbt Migration Validation Patterns — How to prove the migration produced equivalent outputs: parallel execution, comparison queries, ML regression testing, phased cutover.