[DBT] Override Default Schema with Custom Schema name [Tip-1]
Last Updated on July 26, 2023 by Editorial Team
Author(s): Karthikeyan Siva Baskaran
Originally published on Towards AI.
Software Engineering
Problem
By default, DBT
creates a model under the schema which is the combination of target_schema
and custom_schema
. But, there are scenarios where you want to create the schema using custom_schema
only, to handle that we need to overwrite the default macro that creates the schema. By default, dbt uses generate_schema_name
a macro to generate the schema.
Target Schema
: Defined under Profiles.yml
. The target schema represents the default schema
that dbt will build objects into if the custom schema is not defined for the models.
Custom Schema
: Defined under dbt_project.yml
. You can use custom schemas in dbt to build models in a schema other than your target schema.
Default generate_schema_name Macro
Solution
Custom generate_schema_name Macro
Create a file called override_default_macros.sql under the macros folder and input the below SQL.
If the custom_schema
is not available for the specified model, then default_schema
from profiles.yml
will be taken.
The above same code is also maintained under this ever-growing git repository.
GitHub – karthikeyan-sivabaskaran/dbt-tips-and-tricks-series: This repo will keep growing to demoβ¦
You can't perform that action at this time. You signed in with another tab or window. You signed out in another tab orβ¦
github.com
I hope this article helped you to customise the schema name. If you like this blog, please share it with your teammates, friends, and clap U+1F44F in the range of 1 to 50 in Medium. You can clap up to 50 times per post.
Happy Overriding!
This article is part of the DBT Tips and Tricks Series.
Join thousands of data leaders on the AI newsletter. Join over 80,000 subscribers and keep up to date with the latest developments in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming aΒ sponsor.
Published via Towards AI