project_name
▶Changelog
The project_name
context variable returns the name
for the root-level project
which is being run by dbt. This variable can be used to defer execution to a
root-level project macro if one exists.
Example Usage
redshift/macros/helper.sql
/*This macro vacuums tables in a Redshift database. If a macro exists in theroot-level project called `get_tables_to_vacuum`, this macro will call _that_macro to find the tables to vacuum. If the macro is not defined in the rootproject, this macro will use a default implementation instead.*/{% macro vacuum_tables() %}{% set root_project = context[project_name] %}{% if root_project.get_tables_to_vacuum %}{% set tables = root_project.get_tables_to_vacuum() %}{% else %}{% set tables = redshift.get_tables_to_vacuum() %}{% endif %}{% for table in tables %}{% do redshift.vacuum_table(table) %}{% endfor %}{% endmacro %}