# Migrating Dbt Project Across Platforms

Use when migrating a dbt project from one data platform or data warehouse to another...

- Repository: https://github.com/dbt-labs/dbt-agent-skills (750 stars)
- Category: Data and ML
- License: Apache-2.0
- Last updated: 2026-10-29
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add dbt-labs/dbt-agent-skills --skill migrating-dbt-project-across-platforms -g -a claude-code -y`
Codex: `npx skills add dbt-labs/dbt-agent-skills --skill migrating-dbt-project-across-platforms -g -a codex -y`
Cursor: `npx skills add dbt-labs/dbt-agent-skills --skill migrating-dbt-project-across-platforms -g -a cursor -y`
Gemini CLI: `npx skills add dbt-labs/dbt-agent-skills --skill migrating-dbt-project-across-platforms -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add dbt-labs/dbt-agent-skills`

## Description

Use when migrating a dbt project from one data platform or data warehouse to another (e.g., Snowflake to Databricks, Databricks to Snowflake) using dbt Fusion's real-time compilation to identify and fix SQL dialect differences.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Migrating a dbt Project Across Data Platforms

This skill guides migration of a dbt project from one data platform (source) to another (target), for example, Snowflake to Databricks, or Databricks to Snowflake.

**The core approach**: dbt Fusion compiles SQL in real-time and produces rich, detailed error logs that tell you exactly what's wrong and where. We trust Fusion entirely for dialect conversion, no need to pre-document every SQL pattern difference. The workflow is: read Fusion's errors, fix them, recompile, repeat until done. Combined with dbt unit tests (generated on the source platform before migration), we prove both **compilation correctness** and **data correctness** on the target platform.

**Success criteria**: Migration is complete when:
1. `dbtf compile` finishes with 0 errors **and 0 warnings** on the target platform
2. All unit tests pass on the target platform (`dbt test --select test_type:unit`)
3. All models run successfully on the target platform (`dbtf run`)

**Validation cost**: Use `dbtf compile` as the primary iteration gate, it's free (no warehouse queries) and catches both errors and warnings from static analysis. Only `dbtf run` and `dbt test` incur warehouse cost; run those only after compile is clean.

## Contents

- [Additional Resources](#additional-resources), Reference docs for installation, unit tests, profile targets
- [Migration Workflow](#migration-workflow), 7-step migration process with progress checklist
- [Don't Do These Things](#dont-do-these-things), Critical guardrails
- [Known Limitations & Gotchas](#known-limitations--gotchas), Fusion-specific and cross-platform caveats

## Additional Resources

The rest: https://github.com/dbt-labs/dbt-agent-skills/blob/HEAD/skills/dbt-migration/skills/migrating-dbt-project-across-platforms/SKILL.md
