From 10b69a211a717df0077675287fcbe1eb6a88872c Mon Sep 17 00:00:00 2001 From: drethereum Date: Thu, 24 Jul 2025 09:54:24 -0600 Subject: [PATCH] change tracking macro --- dbt_project.yml | 10 ++-------- macros/change_tracking.sql | 9 +++++++++ 2 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 macros/change_tracking.sql diff --git a/dbt_project.yml b/dbt_project.yml index caf5928e..60583e72 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -74,14 +74,7 @@ models: +enabled: true # enable subpackages, as needed gold: +enabled: true - +post-hook: > - {% if 'exclude_change_tracking' not in config.get('tags') %} - {% if config.get('materialized') == 'view' %} - ALTER VIEW {{ this }} SET CHANGE_TRACKING = TRUE; - {% else %} - ALTER TABLE {{ this }} SET CHANGE_TRACKING = TRUE; - {% endif %} - {% endif %} + +post-hook: "{{ enable_change_tracking() }}" bronze: +enabled: false github_actions: @@ -133,6 +126,7 @@ vars: HEAL_MODEL: False HEAL_MODELS: [] STREAMLINE_USE_DEV_FOR_EXTERNAL_TABLES: False + ENABLE_CHANGE_TRACKING: False #### STREAMLINE 2.0 BEGIN #### diff --git a/macros/change_tracking.sql b/macros/change_tracking.sql new file mode 100644 index 00000000..c7e193e5 --- /dev/null +++ b/macros/change_tracking.sql @@ -0,0 +1,9 @@ +{% macro enable_change_tracking() %} + {% if 'exclude_change_tracking' not in config.get('tags') and var('ENABLE_CHANGE_TRACKING', false) %} + {% if config.get('materialized') == 'view' %} + ALTER VIEW {{ this }} SET CHANGE_TRACKING = TRUE; + {% else %} + ALTER TABLE {{ this }} SET CHANGE_TRACKING = TRUE; + {% endif %} + {% endif %} +{% endmacro %} \ No newline at end of file