From 76b3c015d947a5d83ad7dd65cd4b0e53df69fdc3 Mon Sep 17 00:00:00 2001 From: "Wei-Chun, Chang" Date: Tue, 21 Nov 2023 19:36:27 +1100 Subject: [PATCH] Add dbt 1.7 support to list task Signed-off-by: Wei-Chun, Chang --- piperider_cli/dbt/list_task.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/piperider_cli/dbt/list_task.py b/piperider_cli/dbt/list_task.py index f13c28bec..8d959f028 100644 --- a/piperider_cli/dbt/list_task.py +++ b/piperider_cli/dbt/list_task.py @@ -34,7 +34,7 @@ def load_full_manifest(target_path: str, project_dir: str = None): register_adapter(runtime_config) v = dbt_version - if v == '1.5' or v == '1.6': + if v == '1.5' or v == '1.6' or v == '1.7': return ManifestLoader.get_full_manifest( runtime_config, write_perf_info=False ) @@ -56,7 +56,7 @@ def load_manifest(manifest: Dict): if v == '1.5': return _load_manifest_version_15(manifest) - if v == '1.6': + if v == '1.6' or v == '1.7': return _load_manifest_version_16(manifest) raise NotImplementedError(f'dbt-core version: {v} is not supported') @@ -260,7 +260,7 @@ def _get_v15_runtime_config(flags): setattr(flags, "target", None) v = dbt_version - if v == '1.5' or v == '1.6': + if v == '1.5' or v == '1.6' or v == '1.7': return _get_v15_runtime_config(flags) elif v == '1.4': return _get_v14_runtime_config(flags) @@ -357,6 +357,13 @@ def has_field(field_name): if has_field('packages_specified_path'): data['packages_specified_path'] = "packages.yml" + # dbt 1.7 + if has_field('semantic_models'): + data['semantic_models'] = {} + + if has_field('saved_queries'): + data['saved_queries'] = {} + super().__init__(args=None, **data) def validate(self):