Migrating from dbt Core™ CLI to Paradime: A Step by Step Guide
Feb 26, 2026
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 |
|
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
Sign up / log in at paradime.io.
Create a new workspace (or use an existing one).
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.
Navigate to Settings → Git Repositories.
Click Import Repository.
Enter any valid Git URL pointing to your repository.
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.
Navigate to Settings → Connections → Code IDE Environment.
Select your data warehouse provider.
Enter development credentials (individual developer access).
Scheduler Environment Connection (Production)
Used by Bolt to run production dbt™ pipelines.
Navigate to Settings → Connections → Scheduler Environment.
Select your data warehouse provider.
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:
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:
Code IDE Environment Variables — used when running dbt or CLI commands in the IDE.
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-projectPrompt you to name your project
Set up the dbt project skeleton (
dbt_project.yml, folders, etc.)Optionally generate
sources.ymlfiles 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)
Create a Service Token in dbt Cloud: Account Settings → Service Token → New Token → Permission: "Account Admin", Project: "All Projects" → Save. Copy the token.
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.
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)
Navigate to Bolt → Create Schedule.
Configure settings:
Add commands sequentially:
Configure trigger: Scheduled Run (cron), On Merge, On Run Completion, or Bolt API.
Set up notifications (Slack, Email, Microsoft Teams).
Click Create Schedule.
Method 2: Schedules as Code (YAML)
Create paradime_schedules.yml in your project root:
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 |
|---|---|
| Cron Schedule trigger |
| On Merge trigger |
| Manual run button in Bolt UI |
| Commands list (sequential) |
| Connection credentials in Paradime Settings |
| Managed infrastructure by Paradime |
| 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.
Create a Bolt schedule with Type: Turbo CI.
Install the Paradime app for your Git provider (GitHub, GitLab, Azure DevOps, or Bitbucket).
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.
Create a Bolt schedule with Type: Deferred.
Set Trigger to On Merge.
Select the production branch (e.g.,
main).Use
dbt run --select state:modified+to only execute changed models and dependencies.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 |
Git sync issues | Validate git credentials, try manual sync in Settings |
Schedules as Code not updating | Ensure |
Package installation fails | Run |


