Migrating from dbt Core™ CLI to Paradime: A Step by Step Guide

Feb 26, 2026

Table of Contents

Comprehensive Guide: Migrating Your dbt™ Project to Paradime

Overview

Paradime is an analytics engineering platform purpose-built for dbt™ development, offering a cloud-based Code IDE, the Bolt Scheduler for production orchestration, DinoAI for AI-assisted development, and built-in CI/CD workflows. This guide walks you through migrating an existing dbt™ project — whether from dbt Cloud, dbt Core (with GitHub Actions or other orchestrators), or another platform — to Paradime.

Key Terminology Translation

Understanding how concepts map between platforms is critical:

dbt Cloud / dbt Core

Paradime

Development Environment

Code IDE Environment

Deployment / Production Environment

Production Environment (Scheduler Environment)

dbt Cloud Project

Paradime Workspace

Development Credentials

Code IDE Credentials

Studio IDE

Code IDE

Command Bar

Integrated Terminal

N/A

DinoAI (AI-powered assistant)

N/A

Scratchpad (temporary SQL/dbt™ sandbox)

Defer to Production

Defer to Prod

Lineage

Lineage Preview

Preview

Data Explorer

Job

Bolt Schedule

Orchestration

Bolt Scheduler

Run

Schedule Run / Bolt Run

Deployment Job

Standard Schedule

CI Job

Turbo CI Schedule

N/A

Deferred Schedule

Scheduled Trigger

Scheduled Run (cron-based)

API Trigger

Bolt API Trigger

On Merge

On Merge Trigger (CD)

Job Completion

On Run Completion

N/A

paradime_schedules.yml (schedules as code)

Prerequisites

Before starting:

  • An active Paradime account with workspace configured.

  • Admin permissions in Paradime.

  • Your dbt™ project in a Git repository (GitHub, GitLab, Azure DevOps, or Bitbucket).

  • Data warehouse credentials for both development and production environments.

  • (If migrating from dbt Cloud) A dbt Cloud API Service Token (available on Team and Enterprise plans).

Step 1: Set Up Your Paradime Workspace

  1. Sign up / log in at paradime.io.

  2. Create a new workspace (or use an existing one).

  3. A Paradime Workspace is the equivalent of a dbt Cloud Project — it contains your data warehouse connections, integrations, users, and dbt code.

Estimated time: 15 minutes.

Reference: Getting Started with your Paradime Workspace

Step 2: Connect Your Git Repository

Paradime requires a Git repository containing your dbt™ project.

  1. Navigate to Settings → Git Repositories.

  2. Click Import Repository.

  3. Enter any valid Git URL pointing to your repository.

  4. Paradime generates a Deploy Key — add this key to your Git provider with read and write access.

Supported Git Providers:

  • GitHub

  • GitLab

  • Azure DevOps

  • Bitbucket

Each provider has a dedicated setup guide:

Reference: Importing a Repository

Step 3: Configure Data Warehouse Connections

You need to set up two types of connections:

Code IDE Connection (Development)

Used by developers in the Paradime IDE.

  1. Navigate to Settings → Connections → Code IDE Environment.

  2. Select your data warehouse provider.

  3. Enter development credentials (individual developer access).

Scheduler Environment Connection (Production)

Used by Bolt to run production dbt™ pipelines.

  1. Navigate to Settings → Connections → Scheduler Environment.

  2. Select your data warehouse provider.

  3. Enter production credentials.

Supported Data Warehouses: Amazon Athena, BigQuery, ClickHouse, Databricks, Dremio, DuckDB, Firebolt, Microsoft Fabric, Microsoft SQL Server, MotherDuck, PostgreSQL, Redshift, Snowflake, Starburst/Trino.

Optional Connection Attributes

You can set any YAML attribute that a dbt™ adapter accepts in profiles.yml. Example:

priority: interactive
job_creation_timeout_seconds: 30
job_execution_timeout_seconds: 600
job_retries: 5
job_retry_deadline_seconds: 1200
priority: interactive
job_creation_timeout_seconds: 30
job_execution_timeout_seconds: 600
job_retries: 5
job_retry_deadline_seconds: 1200
priority: interactive
job_creation_timeout_seconds: 30
job_execution_timeout_seconds: 600
job_retries: 5
job_retry_deadline_seconds: 1200

Note: Paradime manages profiles.yml for you. Your connection settings in the UI translate to the appropriate profiles.yml configuration behind the scenes. You do not need to manually maintain a profiles.yml file.

Reference: Connections

Step 4: Set Up Environment Variables

Environment variables can be configured for two contexts:

  1. Code IDE Environment Variables — used when running dbt or CLI commands in the IDE.

  2. Bolt Schedule Environment Variables — used in Bolt production schedules (e.g., runtime configs, secrets).

Navigate to Settings → Environment Variables to configure.

Reference:

Step 5: Initialize and Validate Your dbt Project

If You Have an Existing dbt™ Project in Git

If your repository already contains a dbt™ project, Paradime will automatically detect it when the repo is connected. Open the Code IDE and your project files should be visible.

If You Need to Initialize a New Project

Run in the Paradime Terminal:

This will:

  • Create a branch called initialize-dbt-project

  • Prompt you to name your project

  • Set up the dbt project skeleton (dbt_project.yml, folders, etc.)

  • Optionally generate sources.yml files from your connected warehouse

Install Packages

If your project uses packages.yml, run:

This installs packages into dbt_packages/ (gitignored by default). Starting with dbt v1.7, dbt deps also creates a package-lock.yml.

Upgrade dbt Core™ Version

Workspace Admins can update the dbt Core™ version at: Settings → Workspace.

Reference: Setting Up a dbt Project

Step 6: Migrate Your dbt Jobs to Bolt Scheduler

Option A: Migrate from dbt Cloud (3-Click Import)

  1. Create a Service Token in dbt Cloud: Account Settings → Service Token → New Token → Permission: "Account Admin", Project: "All Projects" → Save. Copy the token.

  2. Connect dbt Cloud Integration in Paradime: Account Settings → Integrations → dbt Cloud™️ → Connect → Enter Host Name (your dbt Cloud URL) and Service Account Token → Test Connection.

  3. View Imported Jobs: Paradime automatically creates Bolt schedules from your dbt Cloud jobs. Click "view imported jobs" and turn them on when ready.

Reference: Transferring dbt™ Jobs

Option B: Migrate from GitHub Actions (or any orchestrator)

Method 1: Bolt UI (Recommended for Beginners)

  1. Navigate to Bolt → Create Schedule.

  2. Configure settings:

  3. Add commands sequentially:

  4. Configure trigger: Scheduled Run (cron), On Merge, On Run Completion, or Bolt API.

  5. Set up notifications (Slack, Email, Microsoft Teams).

  6. Click Create Schedule.

Method 2: Schedules as Code (YAML)

Create paradime_schedules.yml in your project root:

- name: daily_production_run
  schedule: "0 6 * * *"
  environment: production
  git_branch: main
  commands:
    - dbt seed --target prod
    - dbt run --target prod
    - dbt test --target prod
  slack_on: [failed, passed]
  slack_notify: ["#data-team-alerts"]
  email_on: [failed]
  email_notify: ["data-team@company.com"

- name: daily_production_run
  schedule: "0 6 * * *"
  environment: production
  git_branch: main
  commands:
    - dbt seed --target prod
    - dbt run --target prod
    - dbt test --target prod
  slack_on: [failed, passed]
  slack_notify: ["#data-team-alerts"]
  email_on: [failed]
  email_notify: ["data-team@company.com"

- name: daily_production_run
  schedule: "0 6 * * *"
  environment: production
  git_branch: main
  commands:
    - dbt seed --target prod
    - dbt run --target prod
    - dbt test --target prod
  slack_on: [failed, passed]
  slack_notify: ["#data-team-alerts"]
  email_on: [failed]
  email_notify: ["data-team@company.com"

Commit and push to your default branch. Paradime auto-syncs every 10 minutes, or click "Parse Schedules" in the Bolt UI for immediate updates.

Schedule Types

Type

Use Case

Standard

Regular time-based scheduled runs

Deferred

Optimized runs using manifest comparison — only runs modified/changed models, supports CD workflows

Turbo CI

Automated PR validation — builds modified models in temporary schema

Trigger Types

Trigger

Description

Scheduled Run

Cron-based scheduling (same syntax as GitHub Actions)

On Run Completion

Triggers when another schedule finishes

On Merge

Triggers when code is merged into a branch

Bolt API

Programmatic triggering via API endpoints

Migration Mapping (GitHub Actions → Paradime Bolt)

GitHub Actions

Paradime Bolt

on.schedule.cron

Cron Schedule trigger

on.push.branches

On Merge trigger

on.workflow_dispatch

Manual run button in Bolt UI

jobs.steps

Commands list (sequential)

env secrets

Connection credentials in Paradime Settings

runs-on

Managed infrastructure by Paradime

uses: actions/checkout

Automatic (Paradime handles git checkout)

Command Execution Logic

  • When a command fails, subsequent tasks are skipped by default.

  • Exceptions: Source Freshness commands (if next command uses source_status:fresher), Elementary CLI commands, and Monte Carlo commands still execute after errors.

Additional Bolt Commands

Beyond dbt™ commands, Bolt supports: Python Scripts, Elementary, Lightdash, Tableau Workbook/Data Source Refresh, Power BI Dataset Refresh, Paradime Bolt Schedule Toggle, Monte Carlo, Paradime Refresh Catalog, Airbyte Connector Sync, and Fivetran Connector Sync.

Reference: Migrating from GitHub Actions to Bolt

Step 7: Set Up CI/CD

Turbo CI (Continuous Integration)

Automatically validates PRs by building and testing modified models in a temporary schema.

  1. Create a Bolt schedule with Type: Turbo CI.

  2. Install the Paradime app for your Git provider (GitHub, GitLab, Azure DevOps, or Bitbucket).

  3. When a PR is opened against main/master, Turbo CI:

Reference: Turbo CI

Continuous Deployment (CD)

Automatically deploys changes when code is merged to production.

  1. Create a Bolt schedule with Type: Deferred.

  2. Set Trigger to On Merge.

  3. Select the production branch (e.g., main).

  4. Use dbt run --select state:modified+ to only execute changed models and dependencies.

  5. Configure the schedule to defer to its own last successful run for efficient incremental builds.

Reference: Continuous Deployment with Bolt

Step 8: Configure Notifications

Schedule-Level Notifications

Three triggers: Success, Failure, and SLA (alerts if runtime exceeds a threshold).

Destinations: Email, Slack, Microsoft Teams.

You can also create custom Alert Templates for Slack and MS Teams notifications.

Workspace-Level System Alerts

Paradime can notify you about:

  • Bolt Parse Errors

  • OOM (Out of Memory) Runs

  • Git Clone Failures

  • 24-hour Run Timeouts

Configure at: Settings → Notifications.

Reference: Notification Settings

Paradime Code IDE Overview

The Paradime Code IDE is a browser-based, real-time editing and execution platform for dbt™ projects. Key features:

User Interface

  • File Navigation — browse and manage project files

  • Autocompletion — intelligent code suggestions

  • "Peek" and "Go To" Definition — navigate model references

  • Context Menu — right-click actions

  • Flexible Layout — customizable panel arrangement

  • IDE Preferences — theme, font, formatting settings

  • Keyboard Shortcuts

Left Panel

  • Search, Find, and Replace — project-wide search

  • Git Lite — simplified version control (branch creation, commits, PRs, merge conflict resolution)

  • DinoAI — AI-powered assistant panel

  • Bookmarks — quick file navigation

Command Panel

  • Data Explorer — real-time data preview of dbt™ models and SQL, with compiled SQL view, CSV export, and selective SQL segment preview. Supports "Defer to Production" for previewing against production state.

  • Lineage Preview — visual dependency graph (+1/-1 or full lineage), auto-updates as you edit

  • Data Catalog — model documentation preview

  • Lint — built-in code quality tools:

Terminal

Full integrated terminal for running dbt™ commands, shell commands, and more.

Scratchpad

A temporary, gitignored sandbox environment for SQL and dbt™ queries. Files persist across sessions in a paradime_scratch/ folder. Supports instant data preview via Data Explorer.

Defer to Production

Compile and preview models using the production manifest, allowing validation of downstream changes without rebuilding upstream models in your dev schema.

DinoAI — Your AI-Powered Assistant

DinoAI is Paradime's built-in AI assistant that understands your dbt™ project structure, warehouse schema, and analytics engineering best practices.

Two Modes:

  • Agent Mode: Takes direct action — creates/modifies dbt™ models, generates documentation, configures project settings, applies standards.

  • Ask Mode: Provides information and guidance without making changes — answers questions about dbt™/SQL, explains code, explores ideas.

Additional Capabilities:

  • Context awareness — understands your project and warehouse schema

  • .dinorules — configure standards and conventions DinoAI follows

  • .dinoprompts — reusable prompt templates

  • Version control integration

  • Production pipeline optimization

  • Auto-generated commit messages

Reference: DinoAI

Migration Timelines and Best Practices

Recommended Migration Timeline (from GitHub Actions or similar):

Week

Activities

Week 1

Run existing orchestrator AND Paradime Bolt in parallel

Week 2

Validate jobs, notifications, logs, and data quality

Week 3

Disable existing schedules; keep config files as fallback

Week 4+

Archive old orchestration config; train team on Bolt

Best Practices:

  • Always pin package versions in production (packages.yml).

  • Use Deferred Schedules with state:modified+ to reduce compute costs.

  • Leverage Schedules as Code (paradime_schedules.yml) for version-controlled, reviewable schedule configurations.

  • Set up Turbo CI early to catch issues before merge.

  • Use Scratchpad for ad-hoc SQL exploration instead of modifying project files.

  • Configure SLA notifications on critical production schedules.

  • Use DinoAI to auto-generate documentation and commit messages.

Troubleshooting

Issue

Resolution

Schedule not running

Check: not paused, cron syntax valid, branch exists, connection active

Commands failing

Validate credentials, check target profile, review Bolt → Run History logs

Notifications not sending

Verify Slack connected (Settings → Integrations), channel names include #, email addresses valid

Git sync issues

Validate git credentials, try manual sync in Settings

Schedules as Code not updating

Ensure paradime_schedules.yml is merged to default branch; click "Parse Schedules" for immediate refresh

Package installation fails

Run dbt deps in terminal; verify packages.yml syntax and package versions

Useful Links

Core Documentation

Migration Guides

Configuration

Scheduling & CI/CD

Interested to Learn More?
Try Out the Free 14-Days Trial
decorative icon

Future of Data Work
Available Today

decorative icon

Future of Data Work
Available Today

decorative icon

Future of Data Work
Available Today

Copyright © 2026 Paradime Labs, Inc.

Made with ❤️ in San Francisco ・ London

*dbt® and dbt Core® are federally registered trademarks of dbt Labs, Inc. in the United States and various jurisdictions around the world. Paradime is not a partner of dbt Labs. All rights therein are reserved to dbt Labs. Paradime is not a product or service of or endorsed by dbt Labs, Inc.

Copyright © 2026 Paradime Labs, Inc.

Made with ❤️ in San Francisco ・ London

*dbt® and dbt Core® are federally registered trademarks of dbt Labs, Inc. in the United States and various jurisdictions around the world. Paradime is not a partner of dbt Labs. All rights therein are reserved to dbt Labs. Paradime is not a product or service of or endorsed by dbt Labs, Inc.

Copyright © 2026 Paradime Labs, Inc.

Made with ❤️ in San Francisco ・ London

*dbt® and dbt Core® are federally registered trademarks of dbt Labs, Inc. in the United States and various jurisdictions around the world. Paradime is not a partner of dbt Labs. All rights therein are reserved to dbt Labs. Paradime is not a product or service of or endorsed by dbt Labs, Inc.