DBT Meets Mage: Powering Advanced Data Transformations
TLDR
When DBT (Data Build Tool), a renowned data transformation framework, converges with Mage, it amplifies ETL processes to new heights. This article explores this powerful synergy which facilitates enhanced data modeling, giving businesses a competitive edge. By tapping into this combo, data professionals can supercharge their operations and drive data precision to the forefront.
Introduction to Mage
In an age where data is the new oil, efficient and reliable data management tools are essential. Mage is a platform committed to simplifying data integration and analytics. Designed for seamless data transformation and loading, Mage is transforming how businesses approach data management. Here are its key features:
-
Automated Data Pipeline: Mage automates data extraction, transformation, and loading (ETL) processes. It can extract data from multiple sources, transform it to a desirable format, and load it into a data warehouse.
-
Data Connectors: Mage offers various data connectors to widely-used data sources like Shopify, Facebook Ads, Google Ads, Google Analytics, etc. This makes it easier to import data from these platforms.
-
Easy Integration: Mage provides easy integration with popular data warehouses including Google BigQuery, Amazon Redshift, and Snowflake.
-
Pre-built SQL Models: Mage comes with pre-built SQL models for popular e-commerce platforms like Shopify and WooCommerce. These models simplify the process of data analysis.
-
Incremental Loading: Mage supports incremental loading, which means only new or updated data is loaded into the data warehouse. This saves storage space and improves efficiency.
-
Data Transformations: Mage performs automatic data transformations, converting raw data into a more usable format. This process makes the data ready for analysis and reporting.
-
Scheduled Refresh: Data refreshes can be scheduled in Mage, ensuring that the data in the warehouse is always up-to-date.
-
Data Security: Mage places a high emphasis on data security, ensuring data privacy and compliance with GDPR and other data protection regulations.
Source: Giphy
Transform DBT with Mage
By integrating DBT (Data Build Tool) with Mage, data transformation reaches new heights of efficiency and precision. This synergy unlocks unparalleled ETL capabilities, setting a new standard in data processing.
-
Overview - Build, run, and manage your dbt models with Mage.
-
Analytics engineers - With Mage and dbt combined, you can expand, build and run complex data pipelines.
-
Data engineers - Simplify your data infrastructure and reduce the amount of redundant tools in your “modern” data stack. Replace dbt cloud and Airflow with Mage’s native integration with dbt.
-
FeaturesSchedule dbt model runs - Trigger your dbt model runs on a regular schedule, from an event, or via API request.Run specific dbt models and their dependenciesRun all models and optionally exclude othersDBT models can depend on non-dbt related tasks, Examples: Build model after data ingestion from APIBuild model after another pipeline completesPreview dbt model results as you write SQLBuild dynamic dbt pipelines using flexible variable interpolation, Examples:
{{ env_var('...') }}``{{ variables('...') }}``{{ mage_secret_var('...') }}Automatically run dbt tests every time a pipeline runs - Write checks using dbt tests, then Mage will run them and fail the pipeline if the test results produce any failures.Observability built-in - Monitor your dbt pipelines and get alerted when things break. -
Supported connectorsdbt-bigquerydbt-coredbt-postgresdbt-redshiftdbt-snowflakedbt-sqlserverdbt-trinodbt-spark
Source: Giphy
Set up DBT models & orchestrate DBT runs
Configuring DBT (Data Build Tool) models paves the way for robust data structures, while orchestrating DBT runs ensures seamless, automated workflows in data transformation.
-
Set up new Mage projectRead the setup guide to initialize a new project and start the Mage tool locally.For the rest of this tutorial, we’ll use the project name demo_project.
-
Set up dbt projectCreate dbt projectOpen Mage and go to the terminal page: http://localhost:6789/terminalInitiate your dbt project using the init command (for this tutorial, we’ll use the dbt project name demo):cd demo_project/dbt dbt init demo -s touch demo/profiles.yml--sxs{--sxs:0 sp-919074184}@media{.sp-919074184{--sp-space-1:4px;--sp-space-2:8px;--sp-space-3:12px;--sp-space-4:16px;--sp-space-5:20px;--sp-space-6:24px;--sp-space-7:28px;--sp-space-8:32px;--sp-space-9:36px;--sp-space-10:40px;--sp-space-11:44px;--sp-border-radius:4px;--sp-layout-height:300px;--sp-layout-headerHeight:40px;--sp-transitions-default:150ms ease;--sp-zIndices-base:1;--sp-zIndices-overlay:2;--sp-zIndices-top:3;--sp-colors-surface1:var(--cb-colors-surface1);--sp-colors-surface2:var(--cb-colors-surface2);--sp-colors-surface3:var(--cb-colors-surface3);--sp-colors-disabled:var(--cb-colors-disabled);--sp-colors-base:var(--cb-colors-base);--sp-colors-clickable:var(--cb-colors-clickable);--sp-colors-hover:var(--cb-colors-hover);--sp-colors-accent:var(--cb-colors-accent);--sp-colors-error:var(--cb-colors-error);--sp-colors-errorSurface:var(--cb-colors-errorSurface);--sp-colors-warning:var(--cb-colors-warning);--sp-colors-warningSurface:var(--cb-colors-warningSurface);--sp-font-body:sans-serif;--sp-font-mono:"Fragment Mono", monospace;--sp-font-size:14px;--sp-font-lineHeight:1.5em;--sp-syntax-color-plain:var(--cb-syntax-color-plain);--sp-syntax-color-comment:var(--cb-syntax-color-comment);--sp-syntax-color-keyword:var(--cb-syntax-color-keyword);--sp-syntax-color-tag:var(--cb-syntax-color-tag);--sp-syntax-color-punctuation:var(--cb-syntax-color-punctuation);--sp-syntax-color-definition:var(--cb-syntax-color-definition);--sp-syntax-color-property:var(--cb-syntax-color-property);--sp-syntax-color-static:var(--cb-syntax-color-static);--sp-syntax-color-string:var(--cb-syntax-color-string)}}--sxs{--sxs:1 sp-k-eyOShd sp-k-iOHdLQ}@media{@keyframes sp-k-eyOShd{0%{opacity:0}100%{opacity:1}}@keyframes sp-k-iOHdLQ{0%{transform:rotateX(-25.5deg) rotateY(45deg)}100%{transform:rotateX(-25.5deg) rotateY(405deg)}}}--sxs{--sxs:2 sp-c-gMfcns sp-c-bxeRRt sp-c-jKPvnt sp-c-fWymNx sp-c-euXojQ sp-c-bpmgvy sp-c-PJLV sp-c-fVPbOs sp-c-ikJbEZ sp-c-gtcpyq sp-c-jOWzsE sp-c-jkvvao}@media{.sp-c-gMfcns svg{margin:auto}.sp-c-bxeRRt{-webkit-appearance:none;appearance:none;outline:none;display:flex;align-items:center;font-size:inherit;font-family:inherit;background-color:transparent;transition:color var(--sp-transitions-default), background var(--sp-transitions-default);cursor:pointer;color:var(--sp-colors-clickable);border:0;text-decoration:none}.sp-c-bxeRRt:disabled{color:var(--sp-colors-disabled)}.sp-c-bxeRRt:hover:not(:disabled,[data-active='true']){color:var(--sp-colors-hover)}.sp-c-bxeRRt[data-active="true"]{color:var(--sp-colors-accent)}.sp-c-bxeRRt svg{min-width:var(--sp-space-4);width:var(--sp-space-4);height:var(--sp-space-4)}.sp-c-bxeRRt.sp-c-gMfcns{padding:var(--sp-space-1);height:var(--sp-space-7);display:flex}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:not(:has(span)){width:var(--sp-space-7)}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:has(svg + span){padding-right:var(--sp-space-3);padding-left:var(--sp-space-2);gap:var(--sp-space-1)}.sp-c-jKPvnt{padding:0 var(--sp-space-1) 0 var(--sp-space-1);border-radius:var(--sp-border-radius);margin-left:var(--sp-space-1);width:var(--sp-space-5);visibility:hidden;cursor:pointer;position:absolute;right:0px}.sp-c-jKPvnt svg{width:var(--sp-space-3);height:var(--sp-space-3);display:block;position:relative;top:1px}.sp-c-fWymNx{margin:0;display:block;font-family:var(--sp-font-mono);font-size:var(--sp-font-size);color:var(--sp-syntax-color-plain);line-height:var(--sp-font-lineHeight)}.sp-c-euXojQ{display:flex;flex-direction:column;width:100%;position:relative;background-color:var(--sp-colors-surface1);gap:1px}.sp-c-euXojQ:has(.sp-stack){background-color:var(--sp-colors-surface2)}.sp-c-bpmgvy{transform:translate(-4px, 9px) scale(0.13, 0.13)}.sp-c-bpmgvy *{position:absolute;width:96px;height:96px}.sp-c-fVPbOs{all:initial;font-size:var(--sp-font-size);font-family:var(--sp-font-body);display:block;box-sizing:border-box;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased}@media screen and (min-resolution: 2dppx){.sp-c-fVPbOs{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.sp-c-fVPbOs *{box-sizing:border-box}.sp-c-fVPbOs.sp-wrapper:focus{outline:0}.sp-c-ikJbEZ{border:1px solid var(--sp-colors-surface2);display:flex;flex-wrap:wrap;align-items:stretch;border-radius:var(--sp-border-radius);overflow:hidden;position:relative;background-color:var(--sp-colors-surface2);gap:1px}.sp-c-ikJbEZ >.sp-c-euXojQ{flex-grow:1;flex-shrink:1;flex-basis:0;height:var(--sp-layout-height);overflow:hidden}@media print{.sp-c-ikJbEZ >.sp-c-euXojQ{height:auto;display:block}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ:not(.sp-preview,.sp-editor,.sp-preset-column){height:calc(var(--sp-layout-height) / 2)}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ{min-width:100%;}}.sp-c-ikJbEZ >.sp-file-explorer{flex:0.2;min-width:200px}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-file-explorer{flex:1}}.sp-c-gtcpyq{flex:1;position:relative;overflow:auto;background:var(--sp-colors-surface1)}.sp-c-gtcpyq.cm-scroller{padding:var(--sp-space-4) 0}.sp-c-gtcpyq.sp-c-fWymNx{padding:var(--sp-space-4) 0}@media screen and (max-width: 768px){@supports (-webkit-overflow-scrolling: touch){.sp-c-gtcpyq.cm-content{font-size:16px}}}.sp-c-jOWzsE{margin:0;outline:none;height:100%}.sp-c-jkvvao.sp-syntax-string{color:var(--sp-syntax-color-string);font-style:var(--sp-syntax-fontStyle-string)}.sp-c-jkvvao.sp-syntax-plain{color:var(--sp-syntax-color-plain);font-style:var(--sp-syntax-fontStyle-plain)}.sp-c-jkvvao.sp-syntax-comment{color:var(--sp-syntax-color-comment);font-style:var(--sp-syntax-fontStyle-comment)}.sp-c-jkvvao.sp-syntax-keyword{color:var(--sp-syntax-color-keyword);font-style:var(--sp-syntax-fontStyle-keyword)}.sp-c-jkvvao.sp-syntax-definition{color:var(--sp-syntax-color-definition);font-style:var(--sp-syntax-fontStyle-definition)}.sp-c-jkvvao.sp-syntax-punctuation{color:var(--sp-syntax-color-punctuation);font-style:var(--sp-syntax-fontStyle-punctuation)}.sp-c-jkvvao.sp-syntax-property{color:var(--sp-syntax-color-property);font-style:var(--sp-syntax-fontStyle-property)}.sp-c-jkvvao.sp-syntax-tag{color:var(--sp-syntax-color-tag);font-style:var(--sp-syntax-fontStyle-tag)}.sp-c-jkvvao.sp-syntax-static{color:var(--sp-syntax-color-static);font-style:var(--sp-syntax-fontStyle-static)}}--sxs{--sxs:3 sp-c-PJLV-kCOVwI-status-pass sp-c-PJLV-kEzYsr-status-fail sp-c-PJLV-gHAhSA-status-skip sp-c-PJLV-jgnHyR-status-title sp-c-PJLV-iCgxLS-status-run sp-c-PJLV-bnDZSy-status-pass sp-c-PJLV-eYuGwt-status-fail sp-c-fVPbOs-LrWkf-variant-dark}@media{.sp-c-PJLV-kCOVwI-status-pass{color:var(--test-pass)}.sp-c-PJLV-kEzYsr-status-fail{color:var(--test-fail)}.sp-c-PJLV-gHAhSA-status-skip{color:var(--test-skip)}.sp-c-PJLV-jgnHyR-status-title{color:var(--test-title)}.sp-c-PJLV-iCgxLS-status-run{background:var(--test-run);color:var(--sp-colors-surface1)}.sp-c-PJLV-bnDZSy-status-pass{background:var(--test-pass);color:var(--sp-colors-surface1)}.sp-c-PJLV-eYuGwt-status-fail{background:var(--test-fail);color:var(--sp-colors-surface1)}.sp-c-fVPbOs-LrWkf-variant-dark{color-scheme:dark}}cd demo_project/dbt dbt init demo -s touch demo/profiles.yml--sxs{--sxs:0 sp-919074184}@media{.sp-919074184{--sp-space-1:4px;--sp-space-2:8px;--sp-space-3:12px;--sp-space-4:16px;--sp-space-5:20px;--sp-space-6:24px;--sp-space-7:28px;--sp-space-8:32px;--sp-space-9:36px;--sp-space-10:40px;--sp-space-11:44px;--sp-border-radius:4px;--sp-layout-height:300px;--sp-layout-headerHeight:40px;--sp-transitions-default:150ms ease;--sp-zIndices-base:1;--sp-zIndices-overlay:2;--sp-zIndices-top:3;--sp-colors-surface1:var(--cb-colors-surface1);--sp-colors-surface2:var(--cb-colors-surface2);--sp-colors-surface3:var(--cb-colors-surface3);--sp-colors-disabled:var(--cb-colors-disabled);--sp-colors-base:var(--cb-colors-base);--sp-colors-clickable:var(--cb-colors-clickable);--sp-colors-hover:var(--cb-colors-hover);--sp-colors-accent:var(--cb-colors-accent);--sp-colors-error:var(--cb-colors-error);--sp-colors-errorSurface:var(--cb-colors-errorSurface);--sp-colors-warning:var(--cb-colors-warning);--sp-colors-warningSurface:var(--cb-colors-warningSurface);--sp-font-body:sans-serif;--sp-font-mono:"Fragment Mono", monospace;--sp-font-size:14px;--sp-font-lineHeight:1.5em;--sp-syntax-color-plain:var(--cb-syntax-color-plain);--sp-syntax-color-comment:var(--cb-syntax-color-comment);--sp-syntax-color-keyword:var(--cb-syntax-color-keyword);--sp-syntax-color-tag:var(--cb-syntax-color-tag);--sp-syntax-color-punctuation:var(--cb-syntax-color-punctuation);--sp-syntax-color-definition:var(--cb-syntax-color-definition);--sp-syntax-color-property:var(--cb-syntax-color-property);--sp-syntax-color-static:var(--cb-syntax-color-static);--sp-syntax-color-string:var(--cb-syntax-color-string)}}--sxs{--sxs:1 sp-k-eyOShd sp-k-iOHdLQ}@media{@keyframes sp-k-eyOShd{0%{opacity:0}100%{opacity:1}}@keyframes sp-k-iOHdLQ{0%{transform:rotateX(-25.5deg) rotateY(45deg)}100%{transform:rotateX(-25.5deg) rotateY(405deg)}}}--sxs{--sxs:2 sp-c-gMfcns sp-c-bxeRRt sp-c-jKPvnt sp-c-fWymNx sp-c-euXojQ sp-c-bpmgvy sp-c-PJLV sp-c-fVPbOs sp-c-ikJbEZ sp-c-gtcpyq sp-c-jOWzsE sp-c-jkvvao}@media{.sp-c-gMfcns svg{margin:auto}.sp-c-bxeRRt{-webkit-appearance:none;appearance:none;outline:none;display:flex;align-items:center;font-size:inherit;font-family:inherit;background-color:transparent;transition:color var(--sp-transitions-default), background var(--sp-transitions-default);cursor:pointer;color:var(--sp-colors-clickable);border:0;text-decoration:none}.sp-c-bxeRRt:disabled{color:var(--sp-colors-disabled)}.sp-c-bxeRRt:hover:not(:disabled,[data-active='true']){color:var(--sp-colors-hover)}.sp-c-bxeRRt[data-active="true"]{color:var(--sp-colors-accent)}.sp-c-bxeRRt svg{min-width:var(--sp-space-4);width:var(--sp-space-4);height:var(--sp-space-4)}.sp-c-bxeRRt.sp-c-gMfcns{padding:var(--sp-space-1);height:var(--sp-space-7);display:flex}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:not(:has(span)){width:var(--sp-space-7)}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:has(svg + span){padding-right:var(--sp-space-3);padding-left:var(--sp-space-2);gap:var(--sp-space-1)}.sp-c-jKPvnt{padding:0 var(--sp-space-1) 0 var(--sp-space-1);border-radius:var(--sp-border-radius);margin-left:var(--sp-space-1);width:var(--sp-space-5);visibility:hidden;cursor:pointer;position:absolute;right:0px}.sp-c-jKPvnt svg{width:var(--sp-space-3);height:var(--sp-space-3);display:block;position:relative;top:1px}.sp-c-fWymNx{margin:0;display:block;font-family:var(--sp-font-mono);font-size:var(--sp-font-size);color:var(--sp-syntax-color-plain);line-height:var(--sp-font-lineHeight)}.sp-c-euXojQ{display:flex;flex-direction:column;width:100%;position:relative;background-color:var(--sp-colors-surface1);gap:1px}.sp-c-euXojQ:has(.sp-stack){background-color:var(--sp-colors-surface2)}.sp-c-bpmgvy{transform:translate(-4px, 9px) scale(0.13, 0.13)}.sp-c-bpmgvy *{position:absolute;width:96px;height:96px}.sp-c-fVPbOs{all:initial;font-size:var(--sp-font-size);font-family:var(--sp-font-body);display:block;box-sizing:border-box;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased}@media screen and (min-resolution: 2dppx){.sp-c-fVPbOs{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.sp-c-fVPbOs *{box-sizing:border-box}.sp-c-fVPbOs.sp-wrapper:focus{outline:0}.sp-c-ikJbEZ{border:1px solid var(--sp-colors-surface2);display:flex;flex-wrap:wrap;align-items:stretch;border-radius:var(--sp-border-radius);overflow:hidden;position:relative;background-color:var(--sp-colors-surface2);gap:1px}.sp-c-ikJbEZ >.sp-c-euXojQ{flex-grow:1;flex-shrink:1;flex-basis:0;height:var(--sp-layout-height);overflow:hidden}@media print{.sp-c-ikJbEZ >.sp-c-euXojQ{height:auto;display:block}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ:not(.sp-preview,.sp-editor,.sp-preset-column){height:calc(var(--sp-layout-height) / 2)}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ{min-width:100%;}}.sp-c-ikJbEZ >.sp-file-explorer{flex:0.2;min-width:200px}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-file-explorer{flex:1}}.sp-c-gtcpyq{flex:1;position:relative;overflow:auto;background:var(--sp-colors-surface1)}.sp-c-gtcpyq.cm-scroller{padding:var(--sp-space-4) 0}.sp-c-gtcpyq.sp-c-fWymNx{padding:var(--sp-space-4) 0}@media screen and (max-width: 768px){@supports (-webkit-overflow-scrolling: touch){.sp-c-gtcpyq.cm-content{font-size:16px}}}.sp-c-jOWzsE{margin:0;outline:none;height:100%}.sp-c-jkvvao.sp-syntax-string{color:var(--sp-syntax-color-string);font-style:var(--sp-syntax-fontStyle-string)}.sp-c-jkvvao.sp-syntax-plain{color:var(--sp-syntax-color-plain);font-style:var(--sp-syntax-fontStyle-plain)}.sp-c-jkvvao.sp-syntax-comment{color:var(--sp-syntax-color-comment);font-style:var(--sp-syntax-fontStyle-comment)}.sp-c-jkvvao.sp-syntax-keyword{color:var(--sp-syntax-color-keyword);font-style:var(--sp-syntax-fontStyle-keyword)}.sp-c-jkvvao.sp-syntax-definition{color:var(--sp-syntax-color-definition);font-style:var(--sp-syntax-fontStyle-definition)}.sp-c-jkvvao.sp-syntax-punctuation{color:var(--sp-syntax-color-punctuation);font-style:var(--sp-syntax-fontStyle-punctuation)}.sp-c-jkvvao.sp-syntax-property{color:var(--sp-syntax-color-property);font-style:var(--sp-syntax-fontStyle-property)}.sp-c-jkvvao.sp-syntax-tag{color:var(--sp-syntax-color-tag);font-style:var(--sp-syntax-fontStyle-tag)}.sp-c-jkvvao.sp-syntax-static{color:var(--sp-syntax-color-static);font-style:var(--sp-syntax-fontStyle-static)}}--sxs{--sxs:3 sp-c-PJLV-kCOVwI-status-pass sp-c-PJLV-kEzYsr-status-fail sp-c-PJLV-gHAhSA-status-skip sp-c-PJLV-jgnHyR-status-title sp-c-PJLV-iCgxLS-status-run sp-c-PJLV-bnDZSy-status-pass sp-c-PJLV-eYuGwt-status-fail sp-c-fVPbOs-LrWkf-variant-dark}@media{.sp-c-PJLV-kCOVwI-status-pass{color:var(--test-pass)}.sp-c-PJLV-kEzYsr-status-fail{color:var(--test-fail)}.sp-c-PJLV-gHAhSA-status-skip{color:var(--test-skip)}.sp-c-PJLV-jgnHyR-status-title{color:var(--test-title)}.sp-c-PJLV-iCgxLS-status-run{background:var(--test-run);color:var(--sp-colors-surface1)}.sp-c-PJLV-bnDZSy-status-pass{background:var(--test-pass);color:var(--sp-colors-surface1)}.sp-c-PJLV-eYuGwt-status-fail{background:var(--test-fail);color:var(--sp-colors-surface1)}.sp-c-fVPbOs-LrWkf-variant-dark{color-scheme:dark}}For more information on creating a dbt project, read their documentation
-
Create standard pipelineGo to the Mage dashboard and click the button + New pipeline and select the option labeled Standard (batch).Click the Pipeline settings icon in the left pane, and change its name to dbt demo pipeline, then click the Save pipeline settings button.
-
Create dbt profile for database connectionsOn the left side of the page in the file browser, expand the folder demo_project/dbt/demo/Click the file named profiles.ymlPaste the following credentials in that file:demo: target: dev outputs: dev: dbname: xyleviup host: queenie.db.elephantsql.com password: edSrMWH7Mww-lTKpp-jPHX9sYSNLy7LG port: 5432 schema: dbt_demo type: postgres user: xyleviup--sxs{--sxs:0 sp-919074184}@media{.sp-919074184{--sp-space-1:4px;--sp-space-2:8px;--sp-space-3:12px;--sp-space-4:16px;--sp-space-5:20px;--sp-space-6:24px;--sp-space-7:28px;--sp-space-8:32px;--sp-space-9:36px;--sp-space-10:40px;--sp-space-11:44px;--sp-border-radius:4px;--sp-layout-height:300px;--sp-layout-headerHeight:40px;--sp-transitions-default:150ms ease;--sp-zIndices-base:1;--sp-zIndices-overlay:2;--sp-zIndices-top:3;--sp-colors-surface1:var(--cb-colors-surface1);--sp-colors-surface2:var(--cb-colors-surface2);--sp-colors-surface3:var(--cb-colors-surface3);--sp-colors-disabled:var(--cb-colors-disabled);--sp-colors-base:var(--cb-colors-base);--sp-colors-clickable:var(--cb-colors-clickable);--sp-colors-hover:var(--cb-colors-hover);--sp-colors-accent:var(--cb-colors-accent);--sp-colors-error:var(--cb-colors-error);--sp-colors-errorSurface:var(--cb-colors-errorSurface);--sp-colors-warning:var(--cb-colors-warning);--sp-colors-warningSurface:var(--cb-colors-warningSurface);--sp-font-body:sans-serif;--sp-font-mono:"Fragment Mono", monospace;--sp-font-size:14px;--sp-font-lineHeight:1.5em;--sp-syntax-color-plain:var(--cb-syntax-color-plain);--sp-syntax-color-comment:var(--cb-syntax-color-comment);--sp-syntax-color-keyword:var(--cb-syntax-color-keyword);--sp-syntax-color-tag:var(--cb-syntax-color-tag);--sp-syntax-color-punctuation:var(--cb-syntax-color-punctuation);--sp-syntax-color-definition:var(--cb-syntax-color-definition);--sp-syntax-color-property:var(--cb-syntax-color-property);--sp-syntax-color-static:var(--cb-syntax-color-static);--sp-syntax-color-string:var(--cb-syntax-color-string)}}--sxs{--sxs:1 sp-k-eyOShd sp-k-iOHdLQ}@media{@keyframes sp-k-eyOShd{0%{opacity:0}100%{opacity:1}}@keyframes sp-k-iOHdLQ{0%{transform:rotateX(-25.5deg) rotateY(45deg)}100%{transform:rotateX(-25.5deg) rotateY(405deg)}}}--sxs{--sxs:2 sp-c-gMfcns sp-c-bxeRRt sp-c-jKPvnt sp-c-fWymNx sp-c-euXojQ sp-c-bpmgvy sp-c-PJLV sp-c-fVPbOs sp-c-ikJbEZ sp-c-gtcpyq sp-c-jOWzsE sp-c-jkvvao}@media{.sp-c-gMfcns svg{margin:auto}.sp-c-bxeRRt{-webkit-appearance:none;appearance:none;outline:none;display:flex;align-items:center;font-size:inherit;font-family:inherit;background-color:transparent;transition:color var(--sp-transitions-default), background var(--sp-transitions-default);cursor:pointer;color:var(--sp-colors-clickable);border:0;text-decoration:none}.sp-c-bxeRRt:disabled{color:var(--sp-colors-disabled)}.sp-c-bxeRRt:hover:not(:disabled,[data-active='true']){color:var(--sp-colors-hover)}.sp-c-bxeRRt[data-active="true"]{color:var(--sp-colors-accent)}.sp-c-bxeRRt svg{min-width:var(--sp-space-4);width:var(--sp-space-4);height:var(--sp-space-4)}.sp-c-bxeRRt.sp-c-gMfcns{padding:var(--sp-space-1);height:var(--sp-space-7);display:flex}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:not(:has(span)){width:var(--sp-space-7)}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:has(svg + span){padding-right:var(--sp-space-3);padding-left:var(--sp-space-2);gap:var(--sp-space-1)}.sp-c-jKPvnt{padding:0 var(--sp-space-1) 0 var(--sp-space-1);border-radius:var(--sp-border-radius);margin-left:var(--sp-space-1);width:var(--sp-space-5);visibility:hidden;cursor:pointer;position:absolute;right:0px}.sp-c-jKPvnt svg{width:var(--sp-space-3);height:var(--sp-space-3);display:block;position:relative;top:1px}.sp-c-fWymNx{margin:0;display:block;font-family:var(--sp-font-mono);font-size:var(--sp-font-size);color:var(--sp-syntax-color-plain);line-height:var(--sp-font-lineHeight)}.sp-c-euXojQ{display:flex;flex-direction:column;width:100%;position:relative;background-color:var(--sp-colors-surface1);gap:1px}.sp-c-euXojQ:has(.sp-stack){background-color:var(--sp-colors-surface2)}.sp-c-bpmgvy{transform:translate(-4px, 9px) scale(0.13, 0.13)}.sp-c-bpmgvy *{position:absolute;width:96px;height:96px}.sp-c-fVPbOs{all:initial;font-size:var(--sp-font-size);font-family:var(--sp-font-body);display:block;box-sizing:border-box;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased}@media screen and (min-resolution: 2dppx){.sp-c-fVPbOs{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.sp-c-fVPbOs *{box-sizing:border-box}.sp-c-fVPbOs.sp-wrapper:focus{outline:0}.sp-c-ikJbEZ{border:1px solid var(--sp-colors-surface2);display:flex;flex-wrap:wrap;align-items:stretch;border-radius:var(--sp-border-radius);overflow:hidden;position:relative;background-color:var(--sp-colors-surface2);gap:1px}.sp-c-ikJbEZ >.sp-c-euXojQ{flex-grow:1;flex-shrink:1;flex-basis:0;height:var(--sp-layout-height);overflow:hidden}@media print{.sp-c-ikJbEZ >.sp-c-euXojQ{height:auto;display:block}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ:not(.sp-preview,.sp-editor,.sp-preset-column){height:calc(var(--sp-layout-height) / 2)}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ{min-width:100%;}}.sp-c-ikJbEZ >.sp-file-explorer{flex:0.2;min-width:200px}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-file-explorer{flex:1}}.sp-c-gtcpyq{flex:1;position:relative;overflow:auto;background:var(--sp-colors-surface1)}.sp-c-gtcpyq.cm-scroller{padding:var(--sp-space-4) 0}.sp-c-gtcpyq.sp-c-fWymNx{padding:var(--sp-space-4) 0}@media screen and (max-width: 768px){@supports (-webkit-overflow-scrolling: touch){.sp-c-gtcpyq.cm-content{font-size:16px}}}.sp-c-jOWzsE{margin:0;outline:none;height:100%}.sp-c-jkvvao.sp-syntax-string{color:var(--sp-syntax-color-string);font-style:var(--sp-syntax-fontStyle-string)}.sp-c-jkvvao.sp-syntax-plain{color:var(--sp-syntax-color-plain);font-style:var(--sp-syntax-fontStyle-plain)}.sp-c-jkvvao.sp-syntax-comment{color:var(--sp-syntax-color-comment);font-style:var(--sp-syntax-fontStyle-comment)}.sp-c-jkvvao.sp-syntax-keyword{color:var(--sp-syntax-color-keyword);font-style:var(--sp-syntax-fontStyle-keyword)}.sp-c-jkvvao.sp-syntax-definition{color:var(--sp-syntax-color-definition);font-style:var(--sp-syntax-fontStyle-definition)}.sp-c-jkvvao.sp-syntax-punctuation{color:var(--sp-syntax-color-punctuation);font-style:var(--sp-syntax-fontStyle-punctuation)}.sp-c-jkvvao.sp-syntax-property{color:var(--sp-syntax-color-property);font-style:var(--sp-syntax-fontStyle-property)}.sp-c-jkvvao.sp-syntax-tag{color:var(--sp-syntax-color-tag);font-style:var(--sp-syntax-fontStyle-tag)}.sp-c-jkvvao.sp-syntax-static{color:var(--sp-syntax-color-static);font-style:var(--sp-syntax-fontStyle-static)}}--sxs{--sxs:3 sp-c-PJLV-kCOVwI-status-pass sp-c-PJLV-kEzYsr-status-fail sp-c-PJLV-gHAhSA-status-skip sp-c-PJLV-jgnHyR-status-title sp-c-PJLV-iCgxLS-status-run sp-c-PJLV-bnDZSy-status-pass sp-c-PJLV-eYuGwt-status-fail sp-c-fVPbOs-LrWkf-variant-dark}@media{.sp-c-PJLV-kCOVwI-status-pass{color:var(--test-pass)}.sp-c-PJLV-kEzYsr-status-fail{color:var(--test-fail)}.sp-c-PJLV-gHAhSA-status-skip{color:var(--test-skip)}.sp-c-PJLV-jgnHyR-status-title{color:var(--test-title)}.sp-c-PJLV-iCgxLS-status-run{background:var(--test-run);color:var(--sp-colors-surface1)}.sp-c-PJLV-bnDZSy-status-pass{background:var(--test-pass);color:var(--sp-colors-surface1)}.sp-c-PJLV-eYuGwt-status-fail{background:var(--test-fail);color:var(--sp-colors-surface1)}.sp-c-fVPbOs-LrWkf-variant-dark{color-scheme:dark}}demo: target: dev outputs: dev: dbname: xyleviup host: queenie.db.elephantsql.com password: edSrMWH7Mww-lTKpp-jPHX9sYSNLy7LG port: 5432 schema: dbt_demo type: postgres user: xyleviup--sxs{--sxs:0 sp-919074184}@media{.sp-919074184{--sp-space-1:4px;--sp-space-2:8px;--sp-space-3:12px;--sp-space-4:16px;--sp-space-5:20px;--sp-space-6:24px;--sp-space-7:28px;--sp-space-8:32px;--sp-space-9:36px;--sp-space-10:40px;--sp-space-11:44px;--sp-border-radius:4px;--sp-layout-height:300px;--sp-layout-headerHeight:40px;--sp-transitions-default:150ms ease;--sp-zIndices-base:1;--sp-zIndices-overlay:2;--sp-zIndices-top:3;--sp-colors-surface1:var(--cb-colors-surface1);--sp-colors-surface2:var(--cb-colors-surface2);--sp-colors-surface3:var(--cb-colors-surface3);--sp-colors-disabled:var(--cb-colors-disabled);--sp-colors-base:var(--cb-colors-base);--sp-colors-clickable:var(--cb-colors-clickable);--sp-colors-hover:var(--cb-colors-hover);--sp-colors-accent:var(--cb-colors-accent);--sp-colors-error:var(--cb-colors-error);--sp-colors-errorSurface:var(--cb-colors-errorSurface);--sp-colors-warning:var(--cb-colors-warning);--sp-colors-warningSurface:var(--cb-colors-warningSurface);--sp-font-body:sans-serif;--sp-font-mono:"Fragment Mono", monospace;--sp-font-size:14px;--sp-font-lineHeight:1.5em;--sp-syntax-color-plain:var(--cb-syntax-color-plain);--sp-syntax-color-comment:var(--cb-syntax-color-comment);--sp-syntax-color-keyword:var(--cb-syntax-color-keyword);--sp-syntax-color-tag:var(--cb-syntax-color-tag);--sp-syntax-color-punctuation:var(--cb-syntax-color-punctuation);--sp-syntax-color-definition:var(--cb-syntax-color-definition);--sp-syntax-color-property:var(--cb-syntax-color-property);--sp-syntax-color-static:var(--cb-syntax-color-static);--sp-syntax-color-string:var(--cb-syntax-color-string)}}--sxs{--sxs:1 sp-k-eyOShd sp-k-iOHdLQ}@media{@keyframes sp-k-eyOShd{0%{opacity:0}100%{opacity:1}}@keyframes sp-k-iOHdLQ{0%{transform:rotateX(-25.5deg) rotateY(45deg)}100%{transform:rotateX(-25.5deg) rotateY(405deg)}}}--sxs{--sxs:2 sp-c-gMfcns sp-c-bxeRRt sp-c-jKPvnt sp-c-fWymNx sp-c-euXojQ sp-c-bpmgvy sp-c-PJLV sp-c-fVPbOs sp-c-ikJbEZ sp-c-gtcpyq sp-c-jOWzsE sp-c-jkvvao}@media{.sp-c-gMfcns svg{margin:auto}.sp-c-bxeRRt{-webkit-appearance:none;appearance:none;outline:none;display:flex;align-items:center;font-size:inherit;font-family:inherit;background-color:transparent;transition:color var(--sp-transitions-default), background var(--sp-transitions-default);cursor:pointer;color:var(--sp-colors-clickable);border:0;text-decoration:none}.sp-c-bxeRRt:disabled{color:var(--sp-colors-disabled)}.sp-c-bxeRRt:hover:not(:disabled,[data-active='true']){color:var(--sp-colors-hover)}.sp-c-bxeRRt[data-active="true"]{color:var(--sp-colors-accent)}.sp-c-bxeRRt svg{min-width:var(--sp-space-4);width:var(--sp-space-4);height:var(--sp-space-4)}.sp-c-bxeRRt.sp-c-gMfcns{padding:var(--sp-space-1);height:var(--sp-space-7);display:flex}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:not(:has(span)){width:var(--sp-space-7)}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:has(svg + span){padding-right:var(--sp-space-3);padding-left:var(--sp-space-2);gap:var(--sp-space-1)}.sp-c-jKPvnt{padding:0 var(--sp-space-1) 0 var(--sp-space-1);border-radius:var(--sp-border-radius);margin-left:var(--sp-space-1);width:var(--sp-space-5);visibility:hidden;cursor:pointer;position:absolute;right:0px}.sp-c-jKPvnt svg{width:var(--sp-space-3);height:var(--sp-space-3);display:block;position:relative;top:1px}.sp-c-fWymNx{margin:0;display:block;font-family:var(--sp-font-mono);font-size:var(--sp-font-size);color:var(--sp-syntax-color-plain);line-height:var(--sp-font-lineHeight)}.sp-c-euXojQ{display:flex;flex-direction:column;width:100%;position:relative;background-color:var(--sp-colors-surface1);gap:1px}.sp-c-euXojQ:has(.sp-stack){background-color:var(--sp-colors-surface2)}.sp-c-bpmgvy{transform:translate(-4px, 9px) scale(0.13, 0.13)}.sp-c-bpmgvy *{position:absolute;width:96px;height:96px}.sp-c-fVPbOs{all:initial;font-size:var(--sp-font-size);font-family:var(--sp-font-body);display:block;box-sizing:border-box;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased}@media screen and (min-resolution: 2dppx){.sp-c-fVPbOs{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.sp-c-fVPbOs *{box-sizing:border-box}.sp-c-fVPbOs.sp-wrapper:focus{outline:0}.sp-c-ikJbEZ{border:1px solid var(--sp-colors-surface2);display:flex;flex-wrap:wrap;align-items:stretch;border-radius:var(--sp-border-radius);overflow:hidden;position:relative;background-color:var(--sp-colors-surface2);gap:1px}.sp-c-ikJbEZ >.sp-c-euXojQ{flex-grow:1;flex-shrink:1;flex-basis:0;height:var(--sp-layout-height);overflow:hidden}@media print{.sp-c-ikJbEZ >.sp-c-euXojQ{height:auto;display:block}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ:not(.sp-preview,.sp-editor,.sp-preset-column){height:calc(var(--sp-layout-height) / 2)}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ{min-width:100%;}}.sp-c-ikJbEZ >.sp-file-explorer{flex:0.2;min-width:200px}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-file-explorer{flex:1}}.sp-c-gtcpyq{flex:1;position:relative;overflow:auto;background:var(--sp-colors-surface1)}.sp-c-gtcpyq.cm-scroller{padding:var(--sp-space-4) 0}.sp-c-gtcpyq.sp-c-fWymNx{padding:var(--sp-space-4) 0}@media screen and (max-width: 768px){@supports (-webkit-overflow-scrolling: touch){.sp-c-gtcpyq.cm-content{font-size:16px}}}.sp-c-jOWzsE{margin:0;outline:none;height:100%}.sp-c-jkvvao.sp-syntax-string{color:var(--sp-syntax-color-string);font-style:var(--sp-syntax-fontStyle-string)}.sp-c-jkvvao.sp-syntax-plain{color:var(--sp-syntax-color-plain);font-style:var(--sp-syntax-fontStyle-plain)}.sp-c-jkvvao.sp-syntax-comment{color:var(--sp-syntax-color-comment);font-style:var(--sp-syntax-fontStyle-comment)}.sp-c-jkvvao.sp-syntax-keyword{color:var(--sp-syntax-color-keyword);font-style:var(--sp-syntax-fontStyle-keyword)}.sp-c-jkvvao.sp-syntax-definition{color:var(--sp-syntax-color-definition);font-style:var(--sp-syntax-fontStyle-definition)}.sp-c-jkvvao.sp-syntax-punctuation{color:var(--sp-syntax-color-punctuation);font-style:var(--sp-syntax-fontStyle-punctuation)}.sp-c-jkvvao.sp-syntax-property{color:var(--sp-syntax-color-property);font-style:var(--sp-syntax-fontStyle-property)}.sp-c-jkvvao.sp-syntax-tag{color:var(--sp-syntax-color-tag);font-style:var(--sp-syntax-fontStyle-tag)}.sp-c-jkvvao.sp-syntax-static{color:var(--sp-syntax-color-static);font-style:var(--sp-syntax-fontStyle-static)}}--sxs{--sxs:3 sp-c-PJLV-kCOVwI-status-pass sp-c-PJLV-kEzYsr-status-fail sp-c-PJLV-gHAhSA-status-skip sp-c-PJLV-jgnHyR-status-title sp-c-PJLV-iCgxLS-status-run sp-c-PJLV-bnDZSy-status-pass sp-c-PJLV-eYuGwt-status-fail sp-c-fVPbOs-LrWkf-variant-dark}@media{.sp-c-PJLV-kCOVwI-status-pass{color:var(--test-pass)}.sp-c-PJLV-kEzYsr-status-fail{color:var(--test-fail)}.sp-c-PJLV-gHAhSA-status-skip{color:var(--test-skip)}.sp-c-PJLV-jgnHyR-status-title{color:var(--test-title)}.sp-c-PJLV-iCgxLS-status-run{background:var(--test-run);color:var(--sp-colors-surface1)}.sp-c-PJLV-bnDZSy-status-pass{background:var(--test-pass);color:var(--sp-colors-surface1)}.sp-c-PJLV-eYuGwt-status-fail{background:var(--test-fail);color:var(--sp-colors-surface1)}.sp-c-fVPbOs-LrWkf-variant-dark{color-scheme:dark}}Save the profiles.yml file by pressing Command (⌘) + S.Close the file by pressing the X button on the right side of the file name dbt/demo/profiles.yml
-
Add data loader block to pipelineClick the + Data loader button, select Python, then click API. In the popup dialog Data loader block name, change its name to load data, then click the Save and add block button.Paste the following code in that block:
-
Add dbt model block to pipelineUnder the data loader block you just added, click the button dbt model, then click the option Single model.In the file browser that pops up, click the file named my_second_dbt_model.sql under the folders demo/models/example/This will add 2 dbt blocks to your pipeline: 1 for the dbt model named my_first_dbt_model and the 2nd for the dbt model named my_second_dbt_model.The model named my_first_dbt_model was added to the pipeline because my_second_dbt_model references it.
-
Edit dbt model my_first_dbt_model In the dbt block named my_first_dbt_model, next to the label Target at the top, choose dev in the dropdown list. You can also check Manually enter target, and enter dev in the input field.Paste the following SQL into the dbt model named my_first_dbt_model:Run the dbt model block by pressing the play button on the top right of the block or by pressing Command + Enter.You should see a preview of the query execution logs. To see the query results, click the Expand table link at the bottom right corner.After previewing the results, in the top right corner of the block, click on the triple dots to reveal a dropdown menu.Under the dropdown menu, click the option Run model. This command will execute the dbt run command and create the table in your data source.
-
Edit dbt model my_second_dbt_modelIn the dbt block named my_second_dbt_model, next to the label Target at the top, choose dev in the dropdown list. You can also check Manually enter target, and enter dev in the input field.Paste the following SQL into the dbt model named my_second_dbt_model:SELECT a., b. FROM {{ ref('my_first_dbt_model') }} AS a LEFT JOIN {{ source('mage_demo', 'dbt_demo_pipeline_load_data') }} AS b ON 1 = 1 WHERE a.id = 1--sxs{--sxs:0 sp-919074184}@media{.sp-919074184{--sp-space-1:4px;--sp-space-2:8px;--sp-space-3:12px;--sp-space-4:16px;--sp-space-5:20px;--sp-space-6:24px;--sp-space-7:28px;--sp-space-8:32px;--sp-space-9:36px;--sp-space-10:40px;--sp-space-11:44px;--sp-border-radius:4px;--sp-layout-height:300px;--sp-layout-headerHeight:40px;--sp-transitions-default:150ms ease;--sp-zIndices-base:1;--sp-zIndices-overlay:2;--sp-zIndices-top:3;--sp-colors-surface1:var(--cb-colors-surface1);--sp-colors-surface2:var(--cb-colors-surface2);--sp-colors-surface3:var(--cb-colors-surface3);--sp-colors-disabled:var(--cb-colors-disabled);--sp-colors-base:var(--cb-colors-base);--sp-colors-clickable:var(--cb-colors-clickable);--sp-colors-hover:var(--cb-colors-hover);--sp-colors-accent:var(--cb-colors-accent);--sp-colors-error:var(--cb-colors-error);--sp-colors-errorSurface:var(--cb-colors-errorSurface);--sp-colors-warning:var(--cb-colors-warning);--sp-colors-warningSurface:var(--cb-colors-warningSurface);--sp-font-body:sans-serif;--sp-font-mono:"Fragment Mono", monospace;--sp-font-size:14px;--sp-font-lineHeight:1.5em;--sp-syntax-color-plain:var(--cb-syntax-color-plain);--sp-syntax-color-comment:var(--cb-syntax-color-comment);--sp-syntax-color-keyword:var(--cb-syntax-color-keyword);--sp-syntax-color-tag:var(--cb-syntax-color-tag);--sp-syntax-color-punctuation:var(--cb-syntax-color-punctuation);--sp-syntax-color-definition:var(--cb-syntax-color-definition);--sp-syntax-color-property:var(--cb-syntax-color-property);--sp-syntax-color-static:var(--cb-syntax-color-static);--sp-syntax-color-string:var(--cb-syntax-color-string)}}--sxs{--sxs:1 sp-k-eyOShd sp-k-iOHdLQ}@media{@keyframes sp-k-eyOShd{0%{opacity:0}100%{opacity:1}}@keyframes sp-k-iOHdLQ{0%{transform:rotateX(-25.5deg) rotateY(45deg)}100%{transform:rotateX(-25.5deg) rotateY(405deg)}}}--sxs{--sxs:2 sp-c-gMfcns sp-c-bxeRRt sp-c-jKPvnt sp-c-fWymNx sp-c-euXojQ sp-c-bpmgvy sp-c-PJLV sp-c-fVPbOs sp-c-ikJbEZ sp-c-gtcpyq sp-c-jOWzsE sp-c-jkvvao}@media{.sp-c-gMfcns svg{margin:auto}.sp-c-bxeRRt{-webkit-appearance:none;appearance:none;outline:none;display:flex;align-items:center;font-size:inherit;font-family:inherit;background-color:transparent;transition:color var(--sp-transitions-default), background var(--sp-transitions-default);cursor:pointer;color:var(--sp-colors-clickable);border:0;text-decoration:none}.sp-c-bxeRRt:disabled{color:var(--sp-colors-disabled)}.sp-c-bxeRRt:hover:not(:disabled,[data-active='true']){color:var(--sp-colors-hover)}.sp-c-bxeRRt[data-active="true"]{color:var(--sp-colors-accent)}.sp-c-bxeRRt svg{min-width:var(--sp-space-4);width:var(--sp-space-4);height:var(--sp-space-4)}.sp-c-bxeRRt.sp-c-gMfcns{padding:var(--sp-space-1);height:var(--sp-space-7);display:flex}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:not(:has(span)){width:var(--sp-space-7)}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:has(svg + span){padding-right:var(--sp-space-3);padding-left:var(--sp-space-2);gap:var(--sp-space-1)}.sp-c-jKPvnt{padding:0 var(--sp-space-1) 0 var(--sp-space-1);border-radius:var(--sp-border-radius);margin-left:var(--sp-space-1);width:var(--sp-space-5);visibility:hidden;cursor:pointer;position:absolute;right:0px}.sp-c-jKPvnt svg{width:var(--sp-space-3);height:var(--sp-space-3);display:block;position:relative;top:1px}.sp-c-fWymNx{margin:0;display:block;font-family:var(--sp-font-mono);font-size:var(--sp-font-size);color:var(--sp-syntax-color-plain);line-height:var(--sp-font-lineHeight)}.sp-c-euXojQ{display:flex;flex-direction:column;width:100%;position:relative;background-color:var(--sp-colors-surface1);gap:1px}.sp-c-euXojQ:has(.sp-stack){background-color:var(--sp-colors-surface2)}.sp-c-bpmgvy{transform:translate(-4px, 9px) scale(0.13, 0.13)}.sp-c-bpmgvy {position:absolute;width:96px;height:96px}.sp-c-fVPbOs{all:initial;font-size:var(--sp-font-size);font-family:var(--sp-font-body);display:block;box-sizing:border-box;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased}@media screen and (min-resolution: 2dppx){.sp-c-fVPbOs{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.sp-c-fVPbOs {box-sizing:border-box}.sp-c-fVPbOs.sp-wrapper:focus{outline:0}.sp-c-ikJbEZ{border:1px solid var(--sp-colors-surface2);display:flex;flex-wrap:wrap;align-items:stretch;border-radius:var(--sp-border-radius);overflow:hidden;position:relative;background-color:var(--sp-colors-surface2);gap:1px}.sp-c-ikJbEZ >.sp-c-euXojQ{flex-grow:1;flex-shrink:1;flex-basis:0;height:var(--sp-layout-height);overflow:hidden}@media print{.sp-c-ikJbEZ >.sp-c-euXojQ{height:auto;display:block}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ:not(.sp-preview,.sp-editor,.sp-preset-column){height:calc(var(--sp-layout-height) / 2)}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ{min-width:100%;}}.sp-c-ikJbEZ >.sp-file-explorer{flex:0.2;min-width:200px}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-file-explorer{flex:1}}.sp-c-gtcpyq{flex:1;position:relative;overflow:auto;background:var(--sp-colors-surface1)}.sp-c-gtcpyq.cm-scroller{padding:var(--sp-space-4) 0}.sp-c-gtcpyq.sp-c-fWymNx{padding:var(--sp-space-4) 0}@media screen and (max-width: 768px){@supports (-webkit-overflow-scrolling: touch){.sp-c-gtcpyq.cm-content{font-size:16px}}}.sp-c-jOWzsE{margin:0;outline:none;height:100%}.sp-c-jkvvao.sp-syntax-string{color:var(--sp-syntax-color-string);font-style:var(--sp-syntax-fontStyle-string)}.sp-c-jkvvao.sp-syntax-plain{color:var(--sp-syntax-color-plain);font-style:var(--sp-syntax-fontStyle-plain)}.sp-c-jkvvao.sp-syntax-comment{color:var(--sp-syntax-color-comment);font-style:var(--sp-syntax-fontStyle-comment)}.sp-c-jkvvao.sp-syntax-keyword{color:var(--sp-syntax-color-keyword);font-style:var(--sp-syntax-fontStyle-keyword)}.sp-c-jkvvao.sp-syntax-definition{color:var(--sp-syntax-color-definition);font-style:var(--sp-syntax-fontStyle-definition)}.sp-c-jkvvao.sp-syntax-punctuation{color:var(--sp-syntax-color-punctuation);font-style:var(--sp-syntax-fontStyle-punctuation)}.sp-c-jkvvao.sp-syntax-property{color:var(--sp-syntax-color-property);font-style:var(--sp-syntax-fontStyle-property)}.sp-c-jkvvao.sp-syntax-tag{color:var(--sp-syntax-color-tag);font-style:var(--sp-syntax-fontStyle-tag)}.sp-c-jkvvao.sp-syntax-static{color:var(--sp-syntax-color-static);font-style:var(--sp-syntax-fontStyle-static)}}--sxs{--sxs:3 sp-c-PJLV-kCOVwI-status-pass sp-c-PJLV-kEzYsr-status-fail sp-c-PJLV-gHAhSA-status-skip sp-c-PJLV-jgnHyR-status-title sp-c-PJLV-iCgxLS-status-run sp-c-PJLV-bnDZSy-status-pass sp-c-PJLV-eYuGwt-status-fail sp-c-fVPbOs-LrWkf-variant-dark}@media{.sp-c-PJLV-kCOVwI-status-pass{color:var(--test-pass)}.sp-c-PJLV-kEzYsr-status-fail{color:var(--test-fail)}.sp-c-PJLV-gHAhSA-status-skip{color:var(--test-skip)}.sp-c-PJLV-jgnHyR-status-title{color:var(--test-title)}.sp-c-PJLV-iCgxLS-status-run{background:var(--test-run);color:var(--sp-colors-surface1)}.sp-c-PJLV-bnDZSy-status-pass{background:var(--test-pass);color:var(--sp-colors-surface1)}.sp-c-PJLV-eYuGwt-status-fail{background:var(--test-fail);color:var(--sp-colors-surface1)}.sp-c-fVPbOs-LrWkf-variant-dark{color-scheme:dark}}SELECT a., b. FROM {{ ref('my_first_dbt_model') }} AS a LEFT JOIN {{ source('mage_demo', 'dbt_demo_pipeline_load_data') }} AS b ON 1 = 1 WHERE a.id = 1--sxs{--sxs:0 sp-919074184}@media{.sp-919074184{--sp-space-1:4px;--sp-space-2:8px;--sp-space-3:12px;--sp-space-4:16px;--sp-space-5:20px;--sp-space-6:24px;--sp-space-7:28px;--sp-space-8:32px;--sp-space-9:36px;--sp-space-10:40px;--sp-space-11:44px;--sp-border-radius:4px;--sp-layout-height:300px;--sp-layout-headerHeight:40px;--sp-transitions-default:150ms ease;--sp-zIndices-base:1;--sp-zIndices-overlay:2;--sp-zIndices-top:3;--sp-colors-surface1:var(--cb-colors-surface1);--sp-colors-surface2:var(--cb-colors-surface2);--sp-colors-surface3:var(--cb-colors-surface3);--sp-colors-disabled:var(--cb-colors-disabled);--sp-colors-base:var(--cb-colors-base);--sp-colors-clickable:var(--cb-colors-clickable);--sp-colors-hover:var(--cb-colors-hover);--sp-colors-accent:var(--cb-colors-accent);--sp-colors-error:var(--cb-colors-error);--sp-colors-errorSurface:var(--cb-colors-errorSurface);--sp-colors-warning:var(--cb-colors-warning);--sp-colors-warningSurface:var(--cb-colors-warningSurface);--sp-font-body:sans-serif;--sp-font-mono:"Fragment Mono", monospace;--sp-font-size:14px;--sp-font-lineHeight:1.5em;--sp-syntax-color-plain:var(--cb-syntax-color-plain);--sp-syntax-color-comment:var(--cb-syntax-color-comment);--sp-syntax-color-keyword:var(--cb-syntax-color-keyword);--sp-syntax-color-tag:var(--cb-syntax-color-tag);--sp-syntax-color-punctuation:var(--cb-syntax-color-punctuation);--sp-syntax-color-definition:var(--cb-syntax-color-definition);--sp-syntax-color-property:var(--cb-syntax-color-property);--sp-syntax-color-static:var(--cb-syntax-color-static);--sp-syntax-color-string:var(--cb-syntax-color-string)}}--sxs{--sxs:1 sp-k-eyOShd sp-k-iOHdLQ}@media{@keyframes sp-k-eyOShd{0%{opacity:0}100%{opacity:1}}@keyframes sp-k-iOHdLQ{0%{transform:rotateX(-25.5deg) rotateY(45deg)}100%{transform:rotateX(-25.5deg) rotateY(405deg)}}}--sxs{--sxs:2 sp-c-gMfcns sp-c-bxeRRt sp-c-jKPvnt sp-c-fWymNx sp-c-euXojQ sp-c-bpmgvy sp-c-PJLV sp-c-fVPbOs sp-c-ikJbEZ sp-c-gtcpyq sp-c-jOWzsE sp-c-jkvvao}@media{.sp-c-gMfcns svg{margin:auto}.sp-c-bxeRRt{-webkit-appearance:none;appearance:none;outline:none;display:flex;align-items:center;font-size:inherit;font-family:inherit;background-color:transparent;transition:color var(--sp-transitions-default), background var(--sp-transitions-default);cursor:pointer;color:var(--sp-colors-clickable);border:0;text-decoration:none}.sp-c-bxeRRt:disabled{color:var(--sp-colors-disabled)}.sp-c-bxeRRt:hover:not(:disabled,[data-active='true']){color:var(--sp-colors-hover)}.sp-c-bxeRRt[data-active="true"]{color:var(--sp-colors-accent)}.sp-c-bxeRRt svg{min-width:var(--sp-space-4);width:var(--sp-space-4);height:var(--sp-space-4)}.sp-c-bxeRRt.sp-c-gMfcns{padding:var(--sp-space-1);height:var(--sp-space-7);display:flex}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:not(:has(span)){width:var(--sp-space-7)}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:has(svg + span){padding-right:var(--sp-space-3);padding-left:var(--sp-space-2);gap:var(--sp-space-1)}.sp-c-jKPvnt{padding:0 var(--sp-space-1) 0 var(--sp-space-1);border-radius:var(--sp-border-radius);margin-left:var(--sp-space-1);width:var(--sp-space-5);visibility:hidden;cursor:pointer;position:absolute;right:0px}.sp-c-jKPvnt svg{width:var(--sp-space-3);height:var(--sp-space-3);display:block;position:relative;top:1px}.sp-c-fWymNx{margin:0;display:block;font-family:var(--sp-font-mono);font-size:var(--sp-font-size);color:var(--sp-syntax-color-plain);line-height:var(--sp-font-lineHeight)}.sp-c-euXojQ{display:flex;flex-direction:column;width:100%;position:relative;background-color:var(--sp-colors-surface1);gap:1px}.sp-c-euXojQ:has(.sp-stack){background-color:var(--sp-colors-surface2)}.sp-c-bpmgvy{transform:translate(-4px, 9px) scale(0.13, 0.13)}.sp-c-bpmgvy *{position:absolute;width:96px;height:96px}.sp-c-fVPbOs{all:initial;font-size:var(--sp-font-size);font-family:var(--sp-font-body);display:block;box-sizing:border-box;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased}@media screen and (min-resolution: 2dppx){.sp-c-fVPbOs{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.sp-c-fVPbOs *{box-sizing:border-box}.sp-c-fVPbOs.sp-wrapper:focus{outline:0}.sp-c-ikJbEZ{border:1px solid var(--sp-colors-surface2);display:flex;flex-wrap:wrap;align-items:stretch;border-radius:var(--sp-border-radius);overflow:hidden;position:relative;background-color:var(--sp-colors-surface2);gap:1px}.sp-c-ikJbEZ >.sp-c-euXojQ{flex-grow:1;flex-shrink:1;flex-basis:0;height:var(--sp-layout-height);overflow:hidden}@media print{.sp-c-ikJbEZ >.sp-c-euXojQ{height:auto;display:block}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ:not(.sp-preview,.sp-editor,.sp-preset-column){height:calc(var(--sp-layout-height) / 2)}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ{min-width:100%;}}.sp-c-ikJbEZ >.sp-file-explorer{flex:0.2;min-width:200px}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-file-explorer{flex:1}}.sp-c-gtcpyq{flex:1;position:relative;overflow:auto;background:var(--sp-colors-surface1)}.sp-c-gtcpyq.cm-scroller{padding:var(--sp-space-4) 0}.sp-c-gtcpyq.sp-c-fWymNx{padding:var(--sp-space-4) 0}@media screen and (max-width: 768px){@supports (-webkit-overflow-scrolling: touch){.sp-c-gtcpyq.cm-content{font-size:16px}}}.sp-c-jOWzsE{margin:0;outline:none;height:100%}.sp-c-jkvvao.sp-syntax-string{color:var(--sp-syntax-color-string);font-style:var(--sp-syntax-fontStyle-string)}.sp-c-jkvvao.sp-syntax-plain{color:var(--sp-syntax-color-plain);font-style:var(--sp-syntax-fontStyle-plain)}.sp-c-jkvvao.sp-syntax-comment{color:var(--sp-syntax-color-comment);font-style:var(--sp-syntax-fontStyle-comment)}.sp-c-jkvvao.sp-syntax-keyword{color:var(--sp-syntax-color-keyword);font-style:var(--sp-syntax-fontStyle-keyword)}.sp-c-jkvvao.sp-syntax-definition{color:var(--sp-syntax-color-definition);font-style:var(--sp-syntax-fontStyle-definition)}.sp-c-jkvvao.sp-syntax-punctuation{color:var(--sp-syntax-color-punctuation);font-style:var(--sp-syntax-fontStyle-punctuation)}.sp-c-jkvvao.sp-syntax-property{color:var(--sp-syntax-color-property);font-style:var(--sp-syntax-fontStyle-property)}.sp-c-jkvvao.sp-syntax-tag{color:var(--sp-syntax-color-tag);font-style:var(--sp-syntax-fontStyle-tag)}.sp-c-jkvvao.sp-syntax-static{color:var(--sp-syntax-color-static);font-style:var(--sp-syntax-fontStyle-static)}}--sxs{--sxs:3 sp-c-PJLV-kCOVwI-status-pass sp-c-PJLV-kEzYsr-status-fail sp-c-PJLV-gHAhSA-status-skip sp-c-PJLV-jgnHyR-status-title sp-c-PJLV-iCgxLS-status-run sp-c-PJLV-bnDZSy-status-pass sp-c-PJLV-eYuGwt-status-fail sp-c-fVPbOs-LrWkf-variant-dark}@media{.sp-c-PJLV-kCOVwI-status-pass{color:var(--test-pass)}.sp-c-PJLV-kEzYsr-status-fail{color:var(--test-fail)}.sp-c-PJLV-gHAhSA-status-skip{color:var(--test-skip)}.sp-c-PJLV-jgnHyR-status-title{color:var(--test-title)}.sp-c-PJLV-iCgxLS-status-run{background:var(--test-run);color:var(--sp-colors-surface1)}.sp-c-PJLV-bnDZSy-status-pass{background:var(--test-pass);color:var(--sp-colors-surface1)}.sp-c-PJLV-eYuGwt-status-fail{background:var(--test-fail);color:var(--sp-colors-surface1)}.sp-c-fVPbOs-LrWkf-variant-dark{color-scheme:dark}}dbt sourcesWhen a dbt model depends on an upstream block that isn’t a dbt model, a source for that block is automatically added to the demo_project/dbt/demo/models/example/mage_sources.yml file.Read more about dbt sources in their documentation.Run the dbt model block by pressing the play button on the top right of the block or by pressing Command + Enter.You should see a preview of the query execution logs. To see the query results, click the Expand table link at the bottom right corner.
-
Add test for dbt modelOn the right side of the screen, click the tab labeled Terminal.Create a new dbt test file by running the following command:touch demo_project/dbt/demo/tests/test_my_second_dbt_model.sql--sxs{--sxs:0 sp-919074184}@media{.sp-919074184{--sp-space-1:4px;--sp-space-2:8px;--sp-space-3:12px;--sp-space-4:16px;--sp-space-5:20px;--sp-space-6:24px;--sp-space-7:28px;--sp-space-8:32px;--sp-space-9:36px;--sp-space-10:40px;--sp-space-11:44px;--sp-border-radius:4px;--sp-layout-height:300px;--sp-layout-headerHeight:40px;--sp-transitions-default:150ms ease;--sp-zIndices-base:1;--sp-zIndices-overlay:2;--sp-zIndices-top:3;--sp-colors-surface1:var(--cb-colors-surface1);--sp-colors-surface2:var(--cb-colors-surface2);--sp-colors-surface3:var(--cb-colors-surface3);--sp-colors-disabled:var(--cb-colors-disabled);--sp-colors-base:var(--cb-colors-base);--sp-colors-clickable:var(--cb-colors-clickable);--sp-colors-hover:var(--cb-colors-hover);--sp-colors-accent:var(--cb-colors-accent);--sp-colors-error:var(--cb-colors-error);--sp-colors-errorSurface:var(--cb-colors-errorSurface);--sp-colors-warning:var(--cb-colors-warning);--sp-colors-warningSurface:var(--cb-colors-warningSurface);--sp-font-body:sans-serif;--sp-font-mono:"Fragment Mono", monospace;--sp-font-size:14px;--sp-font-lineHeight:1.5em;--sp-syntax-color-plain:var(--cb-syntax-color-plain);--sp-syntax-color-comment:var(--cb-syntax-color-comment);--sp-syntax-color-keyword:var(--cb-syntax-color-keyword);--sp-syntax-color-tag:var(--cb-syntax-color-tag);--sp-syntax-color-punctuation:var(--cb-syntax-color-punctuation);--sp-syntax-color-definition:var(--cb-syntax-color-definition);--sp-syntax-color-property:var(--cb-syntax-color-property);--sp-syntax-color-static:var(--cb-syntax-color-static);--sp-syntax-color-string:var(--cb-syntax-color-string)}}--sxs{--sxs:1 sp-k-eyOShd sp-k-iOHdLQ}@media{@keyframes sp-k-eyOShd{0%{opacity:0}100%{opacity:1}}@keyframes sp-k-iOHdLQ{0%{transform:rotateX(-25.5deg) rotateY(45deg)}100%{transform:rotateX(-25.5deg) rotateY(405deg)}}}--sxs{--sxs:2 sp-c-gMfcns sp-c-bxeRRt sp-c-jKPvnt sp-c-fWymNx sp-c-euXojQ sp-c-bpmgvy sp-c-PJLV sp-c-fVPbOs sp-c-ikJbEZ sp-c-gtcpyq sp-c-jOWzsE sp-c-jkvvao}@media{.sp-c-gMfcns svg{margin:auto}.sp-c-bxeRRt{-webkit-appearance:none;appearance:none;outline:none;display:flex;align-items:center;font-size:inherit;font-family:inherit;background-color:transparent;transition:color var(--sp-transitions-default), background var(--sp-transitions-default);cursor:pointer;color:var(--sp-colors-clickable);border:0;text-decoration:none}.sp-c-bxeRRt:disabled{color:var(--sp-colors-disabled)}.sp-c-bxeRRt:hover:not(:disabled,[data-active='true']){color:var(--sp-colors-hover)}.sp-c-bxeRRt[data-active="true"]{color:var(--sp-colors-accent)}.sp-c-bxeRRt svg{min-width:var(--sp-space-4);width:var(--sp-space-4);height:var(--sp-space-4)}.sp-c-bxeRRt.sp-c-gMfcns{padding:var(--sp-space-1);height:var(--sp-space-7);display:flex}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:not(:has(span)){width:var(--sp-space-7)}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:has(svg + span){padding-right:var(--sp-space-3);padding-left:var(--sp-space-2);gap:var(--sp-space-1)}.sp-c-jKPvnt{padding:0 var(--sp-space-1) 0 var(--sp-space-1);border-radius:var(--sp-border-radius);margin-left:var(--sp-space-1);width:var(--sp-space-5);visibility:hidden;cursor:pointer;position:absolute;right:0px}.sp-c-jKPvnt svg{width:var(--sp-space-3);height:var(--sp-space-3);display:block;position:relative;top:1px}.sp-c-fWymNx{margin:0;display:block;font-family:var(--sp-font-mono);font-size:var(--sp-font-size);color:var(--sp-syntax-color-plain);line-height:var(--sp-font-lineHeight)}.sp-c-euXojQ{display:flex;flex-direction:column;width:100%;position:relative;background-color:var(--sp-colors-surface1);gap:1px}.sp-c-euXojQ:has(.sp-stack){background-color:var(--sp-colors-surface2)}.sp-c-bpmgvy{transform:translate(-4px, 9px) scale(0.13, 0.13)}.sp-c-bpmgvy *{position:absolute;width:96px;height:96px}.sp-c-fVPbOs{all:initial;font-size:var(--sp-font-size);font-family:var(--sp-font-body);display:block;box-sizing:border-box;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased}@media screen and (min-resolution: 2dppx){.sp-c-fVPbOs{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.sp-c-fVPbOs *{box-sizing:border-box}.sp-c-fVPbOs.sp-wrapper:focus{outline:0}.sp-c-ikJbEZ{border:1px solid var(--sp-colors-surface2);display:flex;flex-wrap:wrap;align-items:stretch;border-radius:var(--sp-border-radius);overflow:hidden;position:relative;background-color:var(--sp-colors-surface2);gap:1px}.sp-c-ikJbEZ >.sp-c-euXojQ{flex-grow:1;flex-shrink:1;flex-basis:0;height:var(--sp-layout-height);overflow:hidden}@media print{.sp-c-ikJbEZ >.sp-c-euXojQ{height:auto;display:block}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ:not(.sp-preview,.sp-editor,.sp-preset-column){height:calc(var(--sp-layout-height) / 2)}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ{min-width:100%;}}.sp-c-ikJbEZ >.sp-file-explorer{flex:0.2;min-width:200px}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-file-explorer{flex:1}}.sp-c-gtcpyq{flex:1;position:relative;overflow:auto;background:var(--sp-colors-surface1)}.sp-c-gtcpyq.cm-scroller{padding:var(--sp-space-4) 0}.sp-c-gtcpyq.sp-c-fWymNx{padding:var(--sp-space-4) 0}@media screen and (max-width: 768px){@supports (-webkit-overflow-scrolling: touch){.sp-c-gtcpyq.cm-content{font-size:16px}}}.sp-c-jOWzsE{margin:0;outline:none;height:100%}.sp-c-jkvvao.sp-syntax-string{color:var(--sp-syntax-color-string);font-style:var(--sp-syntax-fontStyle-string)}.sp-c-jkvvao.sp-syntax-plain{color:var(--sp-syntax-color-plain);font-style:var(--sp-syntax-fontStyle-plain)}.sp-c-jkvvao.sp-syntax-comment{color:var(--sp-syntax-color-comment);font-style:var(--sp-syntax-fontStyle-comment)}.sp-c-jkvvao.sp-syntax-keyword{color:var(--sp-syntax-color-keyword);font-style:var(--sp-syntax-fontStyle-keyword)}.sp-c-jkvvao.sp-syntax-definition{color:var(--sp-syntax-color-definition);font-style:var(--sp-syntax-fontStyle-definition)}.sp-c-jkvvao.sp-syntax-punctuation{color:var(--sp-syntax-color-punctuation);font-style:var(--sp-syntax-fontStyle-punctuation)}.sp-c-jkvvao.sp-syntax-property{color:var(--sp-syntax-color-property);font-style:var(--sp-syntax-fontStyle-property)}.sp-c-jkvvao.sp-syntax-tag{color:var(--sp-syntax-color-tag);font-style:var(--sp-syntax-fontStyle-tag)}.sp-c-jkvvao.sp-syntax-static{color:var(--sp-syntax-color-static);font-style:var(--sp-syntax-fontStyle-static)}}--sxs{--sxs:3 sp-c-PJLV-kCOVwI-status-pass sp-c-PJLV-kEzYsr-status-fail sp-c-PJLV-gHAhSA-status-skip sp-c-PJLV-jgnHyR-status-title sp-c-PJLV-iCgxLS-status-run sp-c-PJLV-bnDZSy-status-pass sp-c-PJLV-eYuGwt-status-fail sp-c-fVPbOs-LrWkf-variant-dark}@media{.sp-c-PJLV-kCOVwI-status-pass{color:var(--test-pass)}.sp-c-PJLV-kEzYsr-status-fail{color:var(--test-fail)}.sp-c-PJLV-gHAhSA-status-skip{color:var(--test-skip)}.sp-c-PJLV-jgnHyR-status-title{color:var(--test-title)}.sp-c-PJLV-iCgxLS-status-run{background:var(--test-run);color:var(--sp-colors-surface1)}.sp-c-PJLV-bnDZSy-status-pass{background:var(--test-pass);color:var(--sp-colors-surface1)}.sp-c-PJLV-eYuGwt-status-fail{background:var(--test-fail);color:var(--sp-colors-surface1)}.sp-c-fVPbOs-LrWkf-variant-dark{color-scheme:dark}}touch demo_project/dbt/demo/tests/test_my_second_dbt_model.sql--sxs{--sxs:0 sp-919074184}@media{.sp-919074184{--sp-space-1:4px;--sp-space-2:8px;--sp-space-3:12px;--sp-space-4:16px;--sp-space-5:20px;--sp-space-6:24px;--sp-space-7:28px;--sp-space-8:32px;--sp-space-9:36px;--sp-space-10:40px;--sp-space-11:44px;--sp-border-radius:4px;--sp-layout-height:300px;--sp-layout-headerHeight:40px;--sp-transitions-default:150ms ease;--sp-zIndices-base:1;--sp-zIndices-overlay:2;--sp-zIndices-top:3;--sp-colors-surface1:var(--cb-colors-surface1);--sp-colors-surface2:var(--cb-colors-surface2);--sp-colors-surface3:var(--cb-colors-surface3);--sp-colors-disabled:var(--cb-colors-disabled);--sp-colors-base:var(--cb-colors-base);--sp-colors-clickable:var(--cb-colors-clickable);--sp-colors-hover:var(--cb-colors-hover);--sp-colors-accent:var(--cb-colors-accent);--sp-colors-error:var(--cb-colors-error);--sp-colors-errorSurface:var(--cb-colors-errorSurface);--sp-colors-warning:var(--cb-colors-warning);--sp-colors-warningSurface:var(--cb-colors-warningSurface);--sp-font-body:sans-serif;--sp-font-mono:"Fragment Mono", monospace;--sp-font-size:14px;--sp-font-lineHeight:1.5em;--sp-syntax-color-plain:var(--cb-syntax-color-plain);--sp-syntax-color-comment:var(--cb-syntax-color-comment);--sp-syntax-color-keyword:var(--cb-syntax-color-keyword);--sp-syntax-color-tag:var(--cb-syntax-color-tag);--sp-syntax-color-punctuation:var(--cb-syntax-color-punctuation);--sp-syntax-color-definition:var(--cb-syntax-color-definition);--sp-syntax-color-property:var(--cb-syntax-color-property);--sp-syntax-color-static:var(--cb-syntax-color-static);--sp-syntax-color-string:var(--cb-syntax-color-string)}}--sxs{--sxs:1 sp-k-eyOShd sp-k-iOHdLQ}@media{@keyframes sp-k-eyOShd{0%{opacity:0}100%{opacity:1}}@keyframes sp-k-iOHdLQ{0%{transform:rotateX(-25.5deg) rotateY(45deg)}100%{transform:rotateX(-25.5deg) rotateY(405deg)}}}--sxs{--sxs:2 sp-c-gMfcns sp-c-bxeRRt sp-c-jKPvnt sp-c-fWymNx sp-c-euXojQ sp-c-bpmgvy sp-c-PJLV sp-c-fVPbOs sp-c-ikJbEZ sp-c-gtcpyq sp-c-jOWzsE sp-c-jkvvao}@media{.sp-c-gMfcns svg{margin:auto}.sp-c-bxeRRt{-webkit-appearance:none;appearance:none;outline:none;display:flex;align-items:center;font-size:inherit;font-family:inherit;background-color:transparent;transition:color var(--sp-transitions-default), background var(--sp-transitions-default);cursor:pointer;color:var(--sp-colors-clickable);border:0;text-decoration:none}.sp-c-bxeRRt:disabled{color:var(--sp-colors-disabled)}.sp-c-bxeRRt:hover:not(:disabled,[data-active='true']){color:var(--sp-colors-hover)}.sp-c-bxeRRt[data-active="true"]{color:var(--sp-colors-accent)}.sp-c-bxeRRt svg{min-width:var(--sp-space-4);width:var(--sp-space-4);height:var(--sp-space-4)}.sp-c-bxeRRt.sp-c-gMfcns{padding:var(--sp-space-1);height:var(--sp-space-7);display:flex}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:not(:has(span)){width:var(--sp-space-7)}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:has(svg + span){padding-right:var(--sp-space-3);padding-left:var(--sp-space-2);gap:var(--sp-space-1)}.sp-c-jKPvnt{padding:0 var(--sp-space-1) 0 var(--sp-space-1);border-radius:var(--sp-border-radius);margin-left:var(--sp-space-1);width:var(--sp-space-5);visibility:hidden;cursor:pointer;position:absolute;right:0px}.sp-c-jKPvnt svg{width:var(--sp-space-3);height:var(--sp-space-3);display:block;position:relative;top:1px}.sp-c-fWymNx{margin:0;display:block;font-family:var(--sp-font-mono);font-size:var(--sp-font-size);color:var(--sp-syntax-color-plain);line-height:var(--sp-font-lineHeight)}.sp-c-euXojQ{display:flex;flex-direction:column;width:100%;position:relative;background-color:var(--sp-colors-surface1);gap:1px}.sp-c-euXojQ:has(.sp-stack){background-color:var(--sp-colors-surface2)}.sp-c-bpmgvy{transform:translate(-4px, 9px) scale(0.13, 0.13)}.sp-c-bpmgvy *{position:absolute;width:96px;height:96px}.sp-c-fVPbOs{all:initial;font-size:var(--sp-font-size);font-family:var(--sp-font-body);display:block;box-sizing:border-box;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased}@media screen and (min-resolution: 2dppx){.sp-c-fVPbOs{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.sp-c-fVPbOs *{box-sizing:border-box}.sp-c-fVPbOs.sp-wrapper:focus{outline:0}.sp-c-ikJbEZ{border:1px solid var(--sp-colors-surface2);display:flex;flex-wrap:wrap;align-items:stretch;border-radius:var(--sp-border-radius);overflow:hidden;position:relative;background-color:var(--sp-colors-surface2);gap:1px}.sp-c-ikJbEZ >.sp-c-euXojQ{flex-grow:1;flex-shrink:1;flex-basis:0;height:var(--sp-layout-height);overflow:hidden}@media print{.sp-c-ikJbEZ >.sp-c-euXojQ{height:auto;display:block}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ:not(.sp-preview,.sp-editor,.sp-preset-column){height:calc(var(--sp-layout-height) / 2)}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ{min-width:100%;}}.sp-c-ikJbEZ >.sp-file-explorer{flex:0.2;min-width:200px}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-file-explorer{flex:1}}.sp-c-gtcpyq{flex:1;position:relative;overflow:auto;background:var(--sp-colors-surface1)}.sp-c-gtcpyq.cm-scroller{padding:var(--sp-space-4) 0}.sp-c-gtcpyq.sp-c-fWymNx{padding:var(--sp-space-4) 0}@media screen and (max-width: 768px){@supports (-webkit-overflow-scrolling: touch){.sp-c-gtcpyq.cm-content{font-size:16px}}}.sp-c-jOWzsE{margin:0;outline:none;height:100%}.sp-c-jkvvao.sp-syntax-string{color:var(--sp-syntax-color-string);font-style:var(--sp-syntax-fontStyle-string)}.sp-c-jkvvao.sp-syntax-plain{color:var(--sp-syntax-color-plain);font-style:var(--sp-syntax-fontStyle-plain)}.sp-c-jkvvao.sp-syntax-comment{color:var(--sp-syntax-color-comment);font-style:var(--sp-syntax-fontStyle-comment)}.sp-c-jkvvao.sp-syntax-keyword{color:var(--sp-syntax-color-keyword);font-style:var(--sp-syntax-fontStyle-keyword)}.sp-c-jkvvao.sp-syntax-definition{color:var(--sp-syntax-color-definition);font-style:var(--sp-syntax-fontStyle-definition)}.sp-c-jkvvao.sp-syntax-punctuation{color:var(--sp-syntax-color-punctuation);font-style:var(--sp-syntax-fontStyle-punctuation)}.sp-c-jkvvao.sp-syntax-property{color:var(--sp-syntax-color-property);font-style:var(--sp-syntax-fontStyle-property)}.sp-c-jkvvao.sp-syntax-tag{color:var(--sp-syntax-color-tag);font-style:var(--sp-syntax-fontStyle-tag)}.sp-c-jkvvao.sp-syntax-static{color:var(--sp-syntax-color-static);font-style:var(--sp-syntax-fontStyle-static)}}--sxs{--sxs:3 sp-c-PJLV-kCOVwI-status-pass sp-c-PJLV-kEzYsr-status-fail sp-c-PJLV-gHAhSA-status-skip sp-c-PJLV-jgnHyR-status-title sp-c-PJLV-iCgxLS-status-run sp-c-PJLV-bnDZSy-status-pass sp-c-PJLV-eYuGwt-status-fail sp-c-fVPbOs-LrWkf-variant-dark}@media{.sp-c-PJLV-kCOVwI-status-pass{color:var(--test-pass)}.sp-c-PJLV-kEzYsr-status-fail{color:var(--test-fail)}.sp-c-PJLV-gHAhSA-status-skip{color:var(--test-skip)}.sp-c-PJLV-jgnHyR-status-title{color:var(--test-title)}.sp-c-PJLV-iCgxLS-status-run{background:var(--test-run);color:var(--sp-colors-surface1)}.sp-c-PJLV-bnDZSy-status-pass{background:var(--test-pass);color:var(--sp-colors-surface1)}.sp-c-PJLV-eYuGwt-status-fail{background:var(--test-fail);color:var(--sp-colors-surface1)}.sp-c-fVPbOs-LrWkf-variant-dark{color-scheme:dark}}On the left side of the page in the file browser, expand the folder demo_project/dbt/demo/tests/ and click the file named test_my_second_dbt_model.sql. If you don’t see it, refresh the page.Paste the following SQL in the file:SELECT id FROM {{ ref('my_second_dbt_model') }} GROUP BY id HAVING (id = 0)--sxs{--sxs:0 sp-919074184}@media{.sp-919074184{--sp-space-1:4px;--sp-space-2:8px;--sp-space-3:12px;--sp-space-4:16px;--sp-space-5:20px;--sp-space-6:24px;--sp-space-7:28px;--sp-space-8:32px;--sp-space-9:36px;--sp-space-10:40px;--sp-space-11:44px;--sp-border-radius:4px;--sp-layout-height:300px;--sp-layout-headerHeight:40px;--sp-transitions-default:150ms ease;--sp-zIndices-base:1;--sp-zIndices-overlay:2;--sp-zIndices-top:3;--sp-colors-surface1:var(--cb-colors-surface1);--sp-colors-surface2:var(--cb-colors-surface2);--sp-colors-surface3:var(--cb-colors-surface3);--sp-colors-disabled:var(--cb-colors-disabled);--sp-colors-base:var(--cb-colors-base);--sp-colors-clickable:var(--cb-colors-clickable);--sp-colors-hover:var(--cb-colors-hover);--sp-colors-accent:var(--cb-colors-accent);--sp-colors-error:var(--cb-colors-error);--sp-colors-errorSurface:var(--cb-colors-errorSurface);--sp-colors-warning:var(--cb-colors-warning);--sp-colors-warningSurface:var(--cb-colors-warningSurface);--sp-font-body:sans-serif;--sp-font-mono:"Fragment Mono", monospace;--sp-font-size:14px;--sp-font-lineHeight:1.5em;--sp-syntax-color-plain:var(--cb-syntax-color-plain);--sp-syntax-color-comment:var(--cb-syntax-color-comment);--sp-syntax-color-keyword:var(--cb-syntax-color-keyword);--sp-syntax-color-tag:var(--cb-syntax-color-tag);--sp-syntax-color-punctuation:var(--cb-syntax-color-punctuation);--sp-syntax-color-definition:var(--cb-syntax-color-definition);--sp-syntax-color-property:var(--cb-syntax-color-property);--sp-syntax-color-static:var(--cb-syntax-color-static);--sp-syntax-color-string:var(--cb-syntax-color-string)}}--sxs{--sxs:1 sp-k-eyOShd sp-k-iOHdLQ}@media{@keyframes sp-k-eyOShd{0%{opacity:0}100%{opacity:1}}@keyframes sp-k-iOHdLQ{0%{transform:rotateX(-25.5deg) rotateY(45deg)}100%{transform:rotateX(-25.5deg) rotateY(405deg)}}}--sxs{--sxs:2 sp-c-gMfcns sp-c-bxeRRt sp-c-jKPvnt sp-c-fWymNx sp-c-euXojQ sp-c-bpmgvy sp-c-PJLV sp-c-fVPbOs sp-c-ikJbEZ sp-c-gtcpyq sp-c-jOWzsE sp-c-jkvvao}@media{.sp-c-gMfcns svg{margin:auto}.sp-c-bxeRRt{-webkit-appearance:none;appearance:none;outline:none;display:flex;align-items:center;font-size:inherit;font-family:inherit;background-color:transparent;transition:color var(--sp-transitions-default), background var(--sp-transitions-default);cursor:pointer;color:var(--sp-colors-clickable);border:0;text-decoration:none}.sp-c-bxeRRt:disabled{color:var(--sp-colors-disabled)}.sp-c-bxeRRt:hover:not(:disabled,[data-active='true']){color:var(--sp-colors-hover)}.sp-c-bxeRRt[data-active="true"]{color:var(--sp-colors-accent)}.sp-c-bxeRRt svg{min-width:var(--sp-space-4);width:var(--sp-space-4);height:var(--sp-space-4)}.sp-c-bxeRRt.sp-c-gMfcns{padding:var(--sp-space-1);height:var(--sp-space-7);display:flex}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:not(:has(span)){width:var(--sp-space-7)}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:has(svg + span){padding-right:var(--sp-space-3);padding-left:var(--sp-space-2);gap:var(--sp-space-1)}.sp-c-jKPvnt{padding:0 var(--sp-space-1) 0 var(--sp-space-1);border-radius:var(--sp-border-radius);margin-left:var(--sp-space-1);width:var(--sp-space-5);visibility:hidden;cursor:pointer;position:absolute;right:0px}.sp-c-jKPvnt svg{width:var(--sp-space-3);height:var(--sp-space-3);display:block;position:relative;top:1px}.sp-c-fWymNx{margin:0;display:block;font-family:var(--sp-font-mono);font-size:var(--sp-font-size);color:var(--sp-syntax-color-plain);line-height:var(--sp-font-lineHeight)}.sp-c-euXojQ{display:flex;flex-direction:column;width:100%;position:relative;background-color:var(--sp-colors-surface1);gap:1px}.sp-c-euXojQ:has(.sp-stack){background-color:var(--sp-colors-surface2)}.sp-c-bpmgvy{transform:translate(-4px, 9px) scale(0.13, 0.13)}.sp-c-bpmgvy *{position:absolute;width:96px;height:96px}.sp-c-fVPbOs{all:initial;font-size:var(--sp-font-size);font-family:var(--sp-font-body);display:block;box-sizing:border-box;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased}@media screen and (min-resolution: 2dppx){.sp-c-fVPbOs{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.sp-c-fVPbOs *{box-sizing:border-box}.sp-c-fVPbOs.sp-wrapper:focus{outline:0}.sp-c-ikJbEZ{border:1px solid var(--sp-colors-surface2);display:flex;flex-wrap:wrap;align-items:stretch;border-radius:var(--sp-border-radius);overflow:hidden;position:relative;background-color:var(--sp-colors-surface2);gap:1px}.sp-c-ikJbEZ >.sp-c-euXojQ{flex-grow:1;flex-shrink:1;flex-basis:0;height:var(--sp-layout-height);overflow:hidden}@media print{.sp-c-ikJbEZ >.sp-c-euXojQ{height:auto;display:block}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ:not(.sp-preview,.sp-editor,.sp-preset-column){height:calc(var(--sp-layout-height) / 2)}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ{min-width:100%;}}.sp-c-ikJbEZ >.sp-file-explorer{flex:0.2;min-width:200px}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-file-explorer{flex:1}}.sp-c-gtcpyq{flex:1;position:relative;overflow:auto;background:var(--sp-colors-surface1)}.sp-c-gtcpyq.cm-scroller{padding:var(--sp-space-4) 0}.sp-c-gtcpyq.sp-c-fWymNx{padding:var(--sp-space-4) 0}@media screen and (max-width: 768px){@supports (-webkit-overflow-scrolling: touch){.sp-c-gtcpyq.cm-content{font-size:16px}}}.sp-c-jOWzsE{margin:0;outline:none;height:100%}.sp-c-jkvvao.sp-syntax-string{color:var(--sp-syntax-color-string);font-style:var(--sp-syntax-fontStyle-string)}.sp-c-jkvvao.sp-syntax-plain{color:var(--sp-syntax-color-plain);font-style:var(--sp-syntax-fontStyle-plain)}.sp-c-jkvvao.sp-syntax-comment{color:var(--sp-syntax-color-comment);font-style:var(--sp-syntax-fontStyle-comment)}.sp-c-jkvvao.sp-syntax-keyword{color:var(--sp-syntax-color-keyword);font-style:var(--sp-syntax-fontStyle-keyword)}.sp-c-jkvvao.sp-syntax-definition{color:var(--sp-syntax-color-definition);font-style:var(--sp-syntax-fontStyle-definition)}.sp-c-jkvvao.sp-syntax-punctuation{color:var(--sp-syntax-color-punctuation);font-style:var(--sp-syntax-fontStyle-punctuation)}.sp-c-jkvvao.sp-syntax-property{color:var(--sp-syntax-color-property);font-style:var(--sp-syntax-fontStyle-property)}.sp-c-jkvvao.sp-syntax-tag{color:var(--sp-syntax-color-tag);font-style:var(--sp-syntax-fontStyle-tag)}.sp-c-jkvvao.sp-syntax-static{color:var(--sp-syntax-color-static);font-style:var(--sp-syntax-fontStyle-static)}}--sxs{--sxs:3 sp-c-PJLV-kCOVwI-status-pass sp-c-PJLV-kEzYsr-status-fail sp-c-PJLV-gHAhSA-status-skip sp-c-PJLV-jgnHyR-status-title sp-c-PJLV-iCgxLS-status-run sp-c-PJLV-bnDZSy-status-pass sp-c-PJLV-eYuGwt-status-fail sp-c-fVPbOs-LrWkf-variant-dark}@media{.sp-c-PJLV-kCOVwI-status-pass{color:var(--test-pass)}.sp-c-PJLV-kEzYsr-status-fail{color:var(--test-fail)}.sp-c-PJLV-gHAhSA-status-skip{color:var(--test-skip)}.sp-c-PJLV-jgnHyR-status-title{color:var(--test-title)}.sp-c-PJLV-iCgxLS-status-run{background:var(--test-run);color:var(--sp-colors-surface1)}.sp-c-PJLV-bnDZSy-status-pass{background:var(--test-pass);color:var(--sp-colors-surface1)}.sp-c-PJLV-eYuGwt-status-fail{background:var(--test-fail);color:var(--sp-colors-surface1)}.sp-c-fVPbOs-LrWkf-variant-dark{color-scheme:dark}}SELECT id FROM {{ ref('my_second_dbt_model') }} GROUP BY id HAVING (id = 0)--sxs{--sxs:0 sp-919074184}@media{.sp-919074184{--sp-space-1:4px;--sp-space-2:8px;--sp-space-3:12px;--sp-space-4:16px;--sp-space-5:20px;--sp-space-6:24px;--sp-space-7:28px;--sp-space-8:32px;--sp-space-9:36px;--sp-space-10:40px;--sp-space-11:44px;--sp-border-radius:4px;--sp-layout-height:300px;--sp-layout-headerHeight:40px;--sp-transitions-default:150ms ease;--sp-zIndices-base:1;--sp-zIndices-overlay:2;--sp-zIndices-top:3;--sp-colors-surface1:var(--cb-colors-surface1);--sp-colors-surface2:var(--cb-colors-surface2);--sp-colors-surface3:var(--cb-colors-surface3);--sp-colors-disabled:var(--cb-colors-disabled);--sp-colors-base:var(--cb-colors-base);--sp-colors-clickable:var(--cb-colors-clickable);--sp-colors-hover:var(--cb-colors-hover);--sp-colors-accent:var(--cb-colors-accent);--sp-colors-error:var(--cb-colors-error);--sp-colors-errorSurface:var(--cb-colors-errorSurface);--sp-colors-warning:var(--cb-colors-warning);--sp-colors-warningSurface:var(--cb-colors-warningSurface);--sp-font-body:sans-serif;--sp-font-mono:"Fragment Mono", monospace;--sp-font-size:14px;--sp-font-lineHeight:1.5em;--sp-syntax-color-plain:var(--cb-syntax-color-plain);--sp-syntax-color-comment:var(--cb-syntax-color-comment);--sp-syntax-color-keyword:var(--cb-syntax-color-keyword);--sp-syntax-color-tag:var(--cb-syntax-color-tag);--sp-syntax-color-punctuation:var(--cb-syntax-color-punctuation);--sp-syntax-color-definition:var(--cb-syntax-color-definition);--sp-syntax-color-property:var(--cb-syntax-color-property);--sp-syntax-color-static:var(--cb-syntax-color-static);--sp-syntax-color-string:var(--cb-syntax-color-string)}}--sxs{--sxs:1 sp-k-eyOShd sp-k-iOHdLQ}@media{@keyframes sp-k-eyOShd{0%{opacity:0}100%{opacity:1}}@keyframes sp-k-iOHdLQ{0%{transform:rotateX(-25.5deg) rotateY(45deg)}100%{transform:rotateX(-25.5deg) rotateY(405deg)}}}--sxs{--sxs:2 sp-c-gMfcns sp-c-bxeRRt sp-c-jKPvnt sp-c-fWymNx sp-c-euXojQ sp-c-bpmgvy sp-c-PJLV sp-c-fVPbOs sp-c-ikJbEZ sp-c-gtcpyq sp-c-jOWzsE sp-c-jkvvao}@media{.sp-c-gMfcns svg{margin:auto}.sp-c-bxeRRt{-webkit-appearance:none;appearance:none;outline:none;display:flex;align-items:center;font-size:inherit;font-family:inherit;background-color:transparent;transition:color var(--sp-transitions-default), background var(--sp-transitions-default);cursor:pointer;color:var(--sp-colors-clickable);border:0;text-decoration:none}.sp-c-bxeRRt:disabled{color:var(--sp-colors-disabled)}.sp-c-bxeRRt:hover:not(:disabled,[data-active='true']){color:var(--sp-colors-hover)}.sp-c-bxeRRt[data-active="true"]{color:var(--sp-colors-accent)}.sp-c-bxeRRt svg{min-width:var(--sp-space-4);width:var(--sp-space-4);height:var(--sp-space-4)}.sp-c-bxeRRt.sp-c-gMfcns{padding:var(--sp-space-1);height:var(--sp-space-7);display:flex}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:not(:has(span)){width:var(--sp-space-7)}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:has(svg + span){padding-right:var(--sp-space-3);padding-left:var(--sp-space-2);gap:var(--sp-space-1)}.sp-c-jKPvnt{padding:0 var(--sp-space-1) 0 var(--sp-space-1);border-radius:var(--sp-border-radius);margin-left:var(--sp-space-1);width:var(--sp-space-5);visibility:hidden;cursor:pointer;position:absolute;right:0px}.sp-c-jKPvnt svg{width:var(--sp-space-3);height:var(--sp-space-3);display:block;position:relative;top:1px}.sp-c-fWymNx{margin:0;display:block;font-family:var(--sp-font-mono);font-size:var(--sp-font-size);color:var(--sp-syntax-color-plain);line-height:var(--sp-font-lineHeight)}.sp-c-euXojQ{display:flex;flex-direction:column;width:100%;position:relative;background-color:var(--sp-colors-surface1);gap:1px}.sp-c-euXojQ:has(.sp-stack){background-color:var(--sp-colors-surface2)}.sp-c-bpmgvy{transform:translate(-4px, 9px) scale(0.13, 0.13)}.sp-c-bpmgvy *{position:absolute;width:96px;height:96px}.sp-c-fVPbOs{all:initial;font-size:var(--sp-font-size);font-family:var(--sp-font-body);display:block;box-sizing:border-box;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased}@media screen and (min-resolution: 2dppx){.sp-c-fVPbOs{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.sp-c-fVPbOs *{box-sizing:border-box}.sp-c-fVPbOs.sp-wrapper:focus{outline:0}.sp-c-ikJbEZ{border:1px solid var(--sp-colors-surface2);display:flex;flex-wrap:wrap;align-items:stretch;border-radius:var(--sp-border-radius);overflow:hidden;position:relative;background-color:var(--sp-colors-surface2);gap:1px}.sp-c-ikJbEZ >.sp-c-euXojQ{flex-grow:1;flex-shrink:1;flex-basis:0;height:var(--sp-layout-height);overflow:hidden}@media print{.sp-c-ikJbEZ >.sp-c-euXojQ{height:auto;display:block}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ:not(.sp-preview,.sp-editor,.sp-preset-column){height:calc(var(--sp-layout-height) / 2)}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ{min-width:100%;}}.sp-c-ikJbEZ >.sp-file-explorer{flex:0.2;min-width:200px}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-file-explorer{flex:1}}.sp-c-gtcpyq{flex:1;position:relative;overflow:auto;background:var(--sp-colors-surface1)}.sp-c-gtcpyq.cm-scroller{padding:var(--sp-space-4) 0}.sp-c-gtcpyq.sp-c-fWymNx{padding:var(--sp-space-4) 0}@media screen and (max-width: 768px){@supports (-webkit-overflow-scrolling: touch){.sp-c-gtcpyq.cm-content{font-size:16px}}}.sp-c-jOWzsE{margin:0;outline:none;height:100%}.sp-c-jkvvao.sp-syntax-string{color:var(--sp-syntax-color-string);font-style:var(--sp-syntax-fontStyle-string)}.sp-c-jkvvao.sp-syntax-plain{color:var(--sp-syntax-color-plain);font-style:var(--sp-syntax-fontStyle-plain)}.sp-c-jkvvao.sp-syntax-comment{color:var(--sp-syntax-color-comment);font-style:var(--sp-syntax-fontStyle-comment)}.sp-c-jkvvao.sp-syntax-keyword{color:var(--sp-syntax-color-keyword);font-style:var(--sp-syntax-fontStyle-keyword)}.sp-c-jkvvao.sp-syntax-definition{color:var(--sp-syntax-color-definition);font-style:var(--sp-syntax-fontStyle-definition)}.sp-c-jkvvao.sp-syntax-punctuation{color:var(--sp-syntax-color-punctuation);font-style:var(--sp-syntax-fontStyle-punctuation)}.sp-c-jkvvao.sp-syntax-property{color:var(--sp-syntax-color-property);font-style:var(--sp-syntax-fontStyle-property)}.sp-c-jkvvao.sp-syntax-tag{color:var(--sp-syntax-color-tag);font-style:var(--sp-syntax-fontStyle-tag)}.sp-c-jkvvao.sp-syntax-static{color:var(--sp-syntax-color-static);font-style:var(--sp-syntax-fontStyle-static)}}--sxs{--sxs:3 sp-c-PJLV-kCOVwI-status-pass sp-c-PJLV-kEzYsr-status-fail sp-c-PJLV-gHAhSA-status-skip sp-c-PJLV-jgnHyR-status-title sp-c-PJLV-iCgxLS-status-run sp-c-PJLV-bnDZSy-status-pass sp-c-PJLV-eYuGwt-status-fail sp-c-fVPbOs-LrWkf-variant-dark}@media{.sp-c-PJLV-kCOVwI-status-pass{color:var(--test-pass)}.sp-c-PJLV-kEzYsr-status-fail{color:var(--test-fail)}.sp-c-PJLV-gHAhSA-status-skip{color:var(--test-skip)}.sp-c-PJLV-jgnHyR-status-title{color:var(--test-title)}.sp-c-PJLV-iCgxLS-status-run{background:var(--test-run);color:var(--sp-colors-surface1)}.sp-c-PJLV-bnDZSy-status-pass{background:var(--test-pass);color:var(--sp-colors-surface1)}.sp-c-PJLV-eYuGwt-status-fail{background:var(--test-fail);color:var(--sp-colors-surface1)}.sp-c-fVPbOs-LrWkf-variant-dark{color-scheme:dark}}Read more about dbt tests in their documentation.
-
Execute pipeline end-to-endClick the name of the pipeline in the header breadcrumbs to go back to the detail page.Create a new trigger with a type Schedule and a Frequency once. For more details, follow these steps.After your trigger is created, click the Start trigger button at the top of the page.The pipeline will eventually fail because a dbt test failed. This means everything is working as expected.Open the file demo_project/dbt/demo/models/example/schema.yml and remove the tests named unique under both models. Your file should look like this:version: 2 models: - name: my_first_dbt_model description: "A starter dbt model" columns: - name: id description: "The primary key for this table" tests: - not_null - name: my_second_dbt_model description: "A starter dbt model" columns: - name: id description: "The primary key for this table" tests: - not_null--sxs{--sxs:0 sp-919074184}@media{.sp-919074184{--sp-space-1:4px;--sp-space-2:8px;--sp-space-3:12px;--sp-space-4:16px;--sp-space-5:20px;--sp-space-6:24px;--sp-space-7:28px;--sp-space-8:32px;--sp-space-9:36px;--sp-space-10:40px;--sp-space-11:44px;--sp-border-radius:4px;--sp-layout-height:300px;--sp-layout-headerHeight:40px;--sp-transitions-default:150ms ease;--sp-zIndices-base:1;--sp-zIndices-overlay:2;--sp-zIndices-top:3;--sp-colors-surface1:var(--cb-colors-surface1);--sp-colors-surface2:var(--cb-colors-surface2);--sp-colors-surface3:var(--cb-colors-surface3);--sp-colors-disabled:var(--cb-colors-disabled);--sp-colors-base:var(--cb-colors-base);--sp-colors-clickable:var(--cb-colors-clickable);--sp-colors-hover:var(--cb-colors-hover);--sp-colors-accent:var(--cb-colors-accent);--sp-colors-error:var(--cb-colors-error);--sp-colors-errorSurface:var(--cb-colors-errorSurface);--sp-colors-warning:var(--cb-colors-warning);--sp-colors-warningSurface:var(--cb-colors-warningSurface);--sp-font-body:sans-serif;--sp-font-mono:"Fragment Mono", monospace;--sp-font-size:14px;--sp-font-lineHeight:1.5em;--sp-syntax-color-plain:var(--cb-syntax-color-plain);--sp-syntax-color-comment:var(--cb-syntax-color-comment);--sp-syntax-color-keyword:var(--cb-syntax-color-keyword);--sp-syntax-color-tag:var(--cb-syntax-color-tag);--sp-syntax-color-punctuation:var(--cb-syntax-color-punctuation);--sp-syntax-color-definition:var(--cb-syntax-color-definition);--sp-syntax-color-property:var(--cb-syntax-color-property);--sp-syntax-color-static:var(--cb-syntax-color-static);--sp-syntax-color-string:var(--cb-syntax-color-string)}}--sxs{--sxs:1 sp-k-eyOShd sp-k-iOHdLQ}@media{@keyframes sp-k-eyOShd{0%{opacity:0}100%{opacity:1}}@keyframes sp-k-iOHdLQ{0%{transform:rotateX(-25.5deg) rotateY(45deg)}100%{transform:rotateX(-25.5deg) rotateY(405deg)}}}--sxs{--sxs:2 sp-c-gMfcns sp-c-bxeRRt sp-c-jKPvnt sp-c-fWymNx sp-c-euXojQ sp-c-bpmgvy sp-c-PJLV sp-c-fVPbOs sp-c-ikJbEZ sp-c-gtcpyq sp-c-jOWzsE sp-c-jkvvao}@media{.sp-c-gMfcns svg{margin:auto}.sp-c-bxeRRt{-webkit-appearance:none;appearance:none;outline:none;display:flex;align-items:center;font-size:inherit;font-family:inherit;background-color:transparent;transition:color var(--sp-transitions-default), background var(--sp-transitions-default);cursor:pointer;color:var(--sp-colors-clickable);border:0;text-decoration:none}.sp-c-bxeRRt:disabled{color:var(--sp-colors-disabled)}.sp-c-bxeRRt:hover:not(:disabled,[data-active='true']){color:var(--sp-colors-hover)}.sp-c-bxeRRt[data-active="true"]{color:var(--sp-colors-accent)}.sp-c-bxeRRt svg{min-width:var(--sp-space-4);width:var(--sp-space-4);height:var(--sp-space-4)}.sp-c-bxeRRt.sp-c-gMfcns{padding:var(--sp-space-1);height:var(--sp-space-7);display:flex}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:not(:has(span)){width:var(--sp-space-7)}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:has(svg + span){padding-right:var(--sp-space-3);padding-left:var(--sp-space-2);gap:var(--sp-space-1)}.sp-c-jKPvnt{padding:0 var(--sp-space-1) 0 var(--sp-space-1);border-radius:var(--sp-border-radius);margin-left:var(--sp-space-1);width:var(--sp-space-5);visibility:hidden;cursor:pointer;position:absolute;right:0px}.sp-c-jKPvnt svg{width:var(--sp-space-3);height:var(--sp-space-3);display:block;position:relative;top:1px}.sp-c-fWymNx{margin:0;display:block;font-family:var(--sp-font-mono);font-size:var(--sp-font-size);color:var(--sp-syntax-color-plain);line-height:var(--sp-font-lineHeight)}.sp-c-euXojQ{display:flex;flex-direction:column;width:100%;position:relative;background-color:var(--sp-colors-surface1);gap:1px}.sp-c-euXojQ:has(.sp-stack){background-color:var(--sp-colors-surface2)}.sp-c-bpmgvy{transform:translate(-4px, 9px) scale(0.13, 0.13)}.sp-c-bpmgvy *{position:absolute;width:96px;height:96px}.sp-c-fVPbOs{all:initial;font-size:var(--sp-font-size);font-family:var(--sp-font-body);display:block;box-sizing:border-box;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased}@media screen and (min-resolution: 2dppx){.sp-c-fVPbOs{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.sp-c-fVPbOs *{box-sizing:border-box}.sp-c-fVPbOs.sp-wrapper:focus{outline:0}.sp-c-ikJbEZ{border:1px solid var(--sp-colors-surface2);display:flex;flex-wrap:wrap;align-items:stretch;border-radius:var(--sp-border-radius);overflow:hidden;position:relative;background-color:var(--sp-colors-surface2);gap:1px}.sp-c-ikJbEZ >.sp-c-euXojQ{flex-grow:1;flex-shrink:1;flex-basis:0;height:var(--sp-layout-height);overflow:hidden}@media print{.sp-c-ikJbEZ >.sp-c-euXojQ{height:auto;display:block}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ:not(.sp-preview,.sp-editor,.sp-preset-column){height:calc(var(--sp-layout-height) / 2)}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ{min-width:100%;}}.sp-c-ikJbEZ >.sp-file-explorer{flex:0.2;min-width:200px}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-file-explorer{flex:1}}.sp-c-gtcpyq{flex:1;position:relative;overflow:auto;background:var(--sp-colors-surface1)}.sp-c-gtcpyq.cm-scroller{padding:var(--sp-space-4) 0}.sp-c-gtcpyq.sp-c-fWymNx{padding:var(--sp-space-4) 0}@media screen and (max-width: 768px){@supports (-webkit-overflow-scrolling: touch){.sp-c-gtcpyq.cm-content{font-size:16px}}}.sp-c-jOWzsE{margin:0;outline:none;height:100%}.sp-c-jkvvao.sp-syntax-string{color:var(--sp-syntax-color-string);font-style:var(--sp-syntax-fontStyle-string)}.sp-c-jkvvao.sp-syntax-plain{color:var(--sp-syntax-color-plain);font-style:var(--sp-syntax-fontStyle-plain)}.sp-c-jkvvao.sp-syntax-comment{color:var(--sp-syntax-color-comment);font-style:var(--sp-syntax-fontStyle-comment)}.sp-c-jkvvao.sp-syntax-keyword{color:var(--sp-syntax-color-keyword);font-style:var(--sp-syntax-fontStyle-keyword)}.sp-c-jkvvao.sp-syntax-definition{color:var(--sp-syntax-color-definition);font-style:var(--sp-syntax-fontStyle-definition)}.sp-c-jkvvao.sp-syntax-punctuation{color:var(--sp-syntax-color-punctuation);font-style:var(--sp-syntax-fontStyle-punctuation)}.sp-c-jkvvao.sp-syntax-property{color:var(--sp-syntax-color-property);font-style:var(--sp-syntax-fontStyle-property)}.sp-c-jkvvao.sp-syntax-tag{color:var(--sp-syntax-color-tag);font-style:var(--sp-syntax-fontStyle-tag)}.sp-c-jkvvao.sp-syntax-static{color:var(--sp-syntax-color-static);font-style:var(--sp-syntax-fontStyle-static)}}--sxs{--sxs:3 sp-c-PJLV-kCOVwI-status-pass sp-c-PJLV-kEzYsr-status-fail sp-c-PJLV-gHAhSA-status-skip sp-c-PJLV-jgnHyR-status-title sp-c-PJLV-iCgxLS-status-run sp-c-PJLV-bnDZSy-status-pass sp-c-PJLV-eYuGwt-status-fail sp-c-fVPbOs-LrWkf-variant-dark}@media{.sp-c-PJLV-kCOVwI-status-pass{color:var(--test-pass)}.sp-c-PJLV-kEzYsr-status-fail{color:var(--test-fail)}.sp-c-PJLV-gHAhSA-status-skip{color:var(--test-skip)}.sp-c-PJLV-jgnHyR-status-title{color:var(--test-title)}.sp-c-PJLV-iCgxLS-status-run{background:var(--test-run);color:var(--sp-colors-surface1)}.sp-c-PJLV-bnDZSy-status-pass{background:var(--test-pass);color:var(--sp-colors-surface1)}.sp-c-PJLV-eYuGwt-status-fail{background:var(--test-fail);color:var(--sp-colors-surface1)}.sp-c-fVPbOs-LrWkf-variant-dark{color-scheme:dark}}version: 2 models: - name: my_first_dbt_model description: "A starter dbt model" columns: - name: id description: "The primary key for this table" tests: - not_null - name: my_second_dbt_model description: "A starter dbt model" columns: - name: id description: "The primary key for this table" tests: - not_null--sxs{--sxs:0 sp-919074184}@media{.sp-919074184{--sp-space-1:4px;--sp-space-2:8px;--sp-space-3:12px;--sp-space-4:16px;--sp-space-5:20px;--sp-space-6:24px;--sp-space-7:28px;--sp-space-8:32px;--sp-space-9:36px;--sp-space-10:40px;--sp-space-11:44px;--sp-border-radius:4px;--sp-layout-height:300px;--sp-layout-headerHeight:40px;--sp-transitions-default:150ms ease;--sp-zIndices-base:1;--sp-zIndices-overlay:2;--sp-zIndices-top:3;--sp-colors-surface1:var(--cb-colors-surface1);--sp-colors-surface2:var(--cb-colors-surface2);--sp-colors-surface3:var(--cb-colors-surface3);--sp-colors-disabled:var(--cb-colors-disabled);--sp-colors-base:var(--cb-colors-base);--sp-colors-clickable:var(--cb-colors-clickable);--sp-colors-hover:var(--cb-colors-hover);--sp-colors-accent:var(--cb-colors-accent);--sp-colors-error:var(--cb-colors-error);--sp-colors-errorSurface:var(--cb-colors-errorSurface);--sp-colors-warning:var(--cb-colors-warning);--sp-colors-warningSurface:var(--cb-colors-warningSurface);--sp-font-body:sans-serif;--sp-font-mono:"Fragment Mono", monospace;--sp-font-size:14px;--sp-font-lineHeight:1.5em;--sp-syntax-color-plain:var(--cb-syntax-color-plain);--sp-syntax-color-comment:var(--cb-syntax-color-comment);--sp-syntax-color-keyword:var(--cb-syntax-color-keyword);--sp-syntax-color-tag:var(--cb-syntax-color-tag);--sp-syntax-color-punctuation:var(--cb-syntax-color-punctuation);--sp-syntax-color-definition:var(--cb-syntax-color-definition);--sp-syntax-color-property:var(--cb-syntax-color-property);--sp-syntax-color-static:var(--cb-syntax-color-static);--sp-syntax-color-string:var(--cb-syntax-color-string)}}--sxs{--sxs:1 sp-k-eyOShd sp-k-iOHdLQ}@media{@keyframes sp-k-eyOShd{0%{opacity:0}100%{opacity:1}}@keyframes sp-k-iOHdLQ{0%{transform:rotateX(-25.5deg) rotateY(45deg)}100%{transform:rotateX(-25.5deg) rotateY(405deg)}}}--sxs{--sxs:2 sp-c-gMfcns sp-c-bxeRRt sp-c-jKPvnt sp-c-fWymNx sp-c-euXojQ sp-c-bpmgvy sp-c-PJLV sp-c-fVPbOs sp-c-ikJbEZ sp-c-gtcpyq sp-c-jOWzsE sp-c-jkvvao}@media{.sp-c-gMfcns svg{margin:auto}.sp-c-bxeRRt{-webkit-appearance:none;appearance:none;outline:none;display:flex;align-items:center;font-size:inherit;font-family:inherit;background-color:transparent;transition:color var(--sp-transitions-default), background var(--sp-transitions-default);cursor:pointer;color:var(--sp-colors-clickable);border:0;text-decoration:none}.sp-c-bxeRRt:disabled{color:var(--sp-colors-disabled)}.sp-c-bxeRRt:hover:not(:disabled,[data-active='true']){color:var(--sp-colors-hover)}.sp-c-bxeRRt[data-active="true"]{color:var(--sp-colors-accent)}.sp-c-bxeRRt svg{min-width:var(--sp-space-4);width:var(--sp-space-4);height:var(--sp-space-4)}.sp-c-bxeRRt.sp-c-gMfcns{padding:var(--sp-space-1);height:var(--sp-space-7);display:flex}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:not(:has(span)){width:var(--sp-space-7)}.sp-c-bxeRRt.sp-c-gMfcns.sp-c-bxeRRt:has(svg + span){padding-right:var(--sp-space-3);padding-left:var(--sp-space-2);gap:var(--sp-space-1)}.sp-c-jKPvnt{padding:0 var(--sp-space-1) 0 var(--sp-space-1);border-radius:var(--sp-border-radius);margin-left:var(--sp-space-1);width:var(--sp-space-5);visibility:hidden;cursor:pointer;position:absolute;right:0px}.sp-c-jKPvnt svg{width:var(--sp-space-3);height:var(--sp-space-3);display:block;position:relative;top:1px}.sp-c-fWymNx{margin:0;display:block;font-family:var(--sp-font-mono);font-size:var(--sp-font-size);color:var(--sp-syntax-color-plain);line-height:var(--sp-font-lineHeight)}.sp-c-euXojQ{display:flex;flex-direction:column;width:100%;position:relative;background-color:var(--sp-colors-surface1);gap:1px}.sp-c-euXojQ:has(.sp-stack){background-color:var(--sp-colors-surface2)}.sp-c-bpmgvy{transform:translate(-4px, 9px) scale(0.13, 0.13)}.sp-c-bpmgvy *{position:absolute;width:96px;height:96px}.sp-c-fVPbOs{all:initial;font-size:var(--sp-font-size);font-family:var(--sp-font-body);display:block;box-sizing:border-box;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:subpixel-antialiased}@media screen and (min-resolution: 2dppx){.sp-c-fVPbOs{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.sp-c-fVPbOs *{box-sizing:border-box}.sp-c-fVPbOs.sp-wrapper:focus{outline:0}.sp-c-ikJbEZ{border:1px solid var(--sp-colors-surface2);display:flex;flex-wrap:wrap;align-items:stretch;border-radius:var(--sp-border-radius);overflow:hidden;position:relative;background-color:var(--sp-colors-surface2);gap:1px}.sp-c-ikJbEZ >.sp-c-euXojQ{flex-grow:1;flex-shrink:1;flex-basis:0;height:var(--sp-layout-height);overflow:hidden}@media print{.sp-c-ikJbEZ >.sp-c-euXojQ{height:auto;display:block}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ:not(.sp-preview,.sp-editor,.sp-preset-column){height:calc(var(--sp-layout-height) / 2)}}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-c-euXojQ{min-width:100%;}}.sp-c-ikJbEZ >.sp-file-explorer{flex:0.2;min-width:200px}@media screen and (max-width: 768px){.sp-c-ikJbEZ >.sp-file-explorer{flex:1}}.sp-c-gtcpyq{flex:1;position:relative;overflow:auto;background:var(--sp-colors-surface1)}.sp-c-gtcpyq.cm-scroller{padding:var(--sp-space-4) 0}.sp-c-gtcpyq.sp-c-fWymNx{padding:var(--sp-space-4) 0}@media screen and (max-width: 768px){@supports (-webkit-overflow-scrolling: touch){.sp-c-gtcpyq.cm-content{font-size:16px}}}.sp-c-jOWzsE{margin:0;outline:none;height:100%}.sp-c-jkvvao.sp-syntax-string{color:var(--sp-syntax-color-string);font-style:var(--sp-syntax-fontStyle-string)}.sp-c-jkvvao.sp-syntax-plain{color:var(--sp-syntax-color-plain);font-style:var(--sp-syntax-fontStyle-plain)}.sp-c-jkvvao.sp-syntax-comment{color:var(--sp-syntax-color-comment);font-style:var(--sp-syntax-fontStyle-comment)}.sp-c-jkvvao.sp-syntax-keyword{color:var(--sp-syntax-color-keyword);font-style:var(--sp-syntax-fontStyle-keyword)}.sp-c-jkvvao.sp-syntax-definition{color:var(--sp-syntax-color-definition);font-style:var(--sp-syntax-fontStyle-definition)}.sp-c-jkvvao.sp-syntax-punctuation{color:var(--sp-syntax-color-punctuation);font-style:var(--sp-syntax-fontStyle-punctuation)}.sp-c-jkvvao.sp-syntax-property{color:var(--sp-syntax-color-property);font-style:var(--sp-syntax-fontStyle-property)}.sp-c-jkvvao.sp-syntax-tag{color:var(--sp-syntax-color-tag);font-style:var(--sp-syntax-fontStyle-tag)}.sp-c-jkvvao.sp-syntax-static{color:var(--sp-syntax-color-static);font-style:var(--sp-syntax-fontStyle-static)}}--sxs{--sxs:3 sp-c-PJLV-kCOVwI-status-pass sp-c-PJLV-kEzYsr-status-fail sp-c-PJLV-gHAhSA-status-skip sp-c-PJLV-jgnHyR-status-title sp-c-PJLV-iCgxLS-status-run sp-c-PJLV-bnDZSy-status-pass sp-c-PJLV-eYuGwt-status-fail sp-c-fVPbOs-LrWkf-variant-dark}@media{.sp-c-PJLV-kCOVwI-status-pass{color:var(--test-pass)}.sp-c-PJLV-kEzYsr-status-fail{color:var(--test-fail)}.sp-c-PJLV-gHAhSA-status-skip{color:var(--test-skip)}.sp-c-PJLV-jgnHyR-status-title{color:var(--test-title)}.sp-c-PJLV-iCgxLS-status-run{background:var(--test-run);color:var(--sp-colors-surface1)}.sp-c-PJLV-bnDZSy-status-pass{background:var(--test-pass);color:var(--sp-colors-surface1)}.sp-c-PJLV-eYuGwt-status-fail{background:var(--test-fail);color:var(--sp-colors-surface1)}.sp-c-fVPbOs-LrWkf-variant-dark{color-scheme:dark}}Click on the Failed button next to the pipeline run and click Retry run. It should complete running successfully after a few minutes.
Congratulations! You’ve created a data pipeline that orchestrates your dbt models.
Source: Giphy
Conclusion
In the evolving landscape of data processing, the fusion of DBT (Data Build Tool) and Mage signifies a transformative leap. By integrating DBT's modeling prowess with Mage's advanced ETL capabilities, businesses are now better equipped to harness the full potential of their data. As we've explored, from setup to orchestration, this synergy not only streamlines operations but also enhances the precision of data outcomes. As data continues to be an invaluable asset, leveraging such powerful tools becomes imperative for any data-driven enterprise.



