All skills
dbt-labs avatar

/migrating-dbt-project-across-platforms

@2116bc1 official
by dbt Labsdbt-labs/dbt-agent-skills729 stars
62

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.

Use this Skill: https://skilld.dev/gh/dbt-labs/dbt-agent-skills/migrating-dbt-project-across-platforms

This session only. Nothing lands on disk.

referencesinstalling-dbt-fusion.md

≈404 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Installing dbt Fusion

PROBLEM

dbt Fusion (dbtf) is a first-party tool maintained by dbt Labs. It must be installed and working before starting a cross-platform migration. Fusion provides the real-time compilation engine and rich error diagnostics that power the migration workflow.

SOLUTION

Check if Fusion is already installed

dbtf --version

If this returns a version number, Fusion is installed. Verify it can connect to your project:

dbtf debug

Install Fusion

If dbtf is not found, follow the official dbt Fusion installation guide to install it.

Verify installation:

dbtf --version
dbtf debug

Minimum requirements

  • dbt Fusion must be able to connect to both the source and target platforms
  • Run dbtf debug with each profile to verify connectivity before starting migration

CHALLENGES

Connection errors with dbtf debug

If dbtf debug fails to connect:

  1. Verify your profiles.yml has the correct credentials
  2. Check that the target warehouse/cluster is running and accessible
  3. Ensure any required drivers are installed (e.g., Databricks ODBC/Simba driver)
  4. Try the connection with standard dbt debug first to isolate Fusion-specific issues

Fusion version compatibility

If you encounter unexpected parsing or compilation behavior, ensure you're running a recent version of Fusion:

dbtf --version

If Fusion is already installed, you can updated it to the latest version with

dbtf system update 

Source: SKILL.md on GitHub

1 warning17d5 checks · Risk SAFE
  • Gen Agent Trust Hub17d

    This skill guides the migration of dbt projects between platforms using dbt Fusion. While it involves processing untrusted dbt project files and executing CLI commands, it includes strong safety guidelines to prevent credential exposure and ignore malicious instructions embedded in project data.

  • Socket17d

    No alerts

  • Snyk17d

    Risk: LOW · No issues

  • Runlayer6mo

    3/4 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 2116bc1. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 days ago.

Activeupdated 4 weeks ago
user-invocable
false
metadata
{
  "author": "dbt-labs"
}
  • dbt
  • migration
  • snowflake
  • databricks
  • sql-dialect
  • data-warehouse
  • fusion
  • compilation

README badge

README badge for dbt-labs/dbt-agent-skills/migrating-dbt-project-across-platforms

Automates migration of dbt projects between data warehouses (e.g., Snowflake to Databricks) by using dbt Fusion's real-time compilation to identify and fix SQL dialect differences. The workflow iterates through Fusion's error logs to resolve incompatibilities, then validates the migration with unit tests generated on the source platform before switching targets.

Generated from the current SKILL.md.

Does this skill work with any data warehouse, or only specific platforms?
It works with any pair of data warehouses that dbt Fusion supports. The skill is designed for migrations like Snowflake to Databricks, Databricks to Snowflake, and similar cross-platform moves. Success depends on dbt Fusion's dialect conversion capabilities.
Is dbt Fusion required, or can I use standard dbt?
dbt Fusion is required. The skill relies on Fusion's real-time compilation and rich error diagnostics to identify and guide fixes for SQL dialect differences. Standard dbt does not provide this capability.
Do I need to write unit tests, or can I skip that step?
Unit tests are mandatory. The skill uses them to prove data correctness on the target platform. You must generate tests on the source platform before migration, targeting every leaf node model plus models with significant transformation logic.
What counts as 'migration complete'?
Migration is complete when dbtf compile finishes with 0 errors and 0 warnings on the target platform, all unit tests pass, and all models run successfully. The skill treats warnings as blockers—they must be resolved before proceeding.
Does this handle packages and platform-specific dependencies?
Yes. The skill guides you through removing or updating platform-specific packages (like spark_utils for Databricks) and config keys (like +file_format or +snowflake_warehouse) that don't apply to the target platform.

Generated from the current SKILL.md. These answers refresh after source changes.