From 7fb463d6c117eaae67b8527342e27cb9d3c3d4ab Mon Sep 17 00:00:00 2001 From: Seba Arriagada Date: Thu, 20 Jul 2023 13:29:05 +0100 Subject: [PATCH] fix profile_dir argument overwritten by legacy dir for DBT < 1.3.0 --- data_diff/dbt_parser.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/data_diff/dbt_parser.py b/data_diff/dbt_parser.py index 928f7130..617ce1b1 100644 --- a/data_diff/dbt_parser.py +++ b/data_diff/dbt_parser.py @@ -103,7 +103,6 @@ def __init__( ) -> None: try_set_dbt_flags() self.dbt_runner = try_get_dbt_runner() - self.profiles_dir = Path(profiles_dir_override or default_profiles_dir()) self.project_dir = Path(project_dir_override or default_project_dir()) self.connection = {} self.project_dict = self.get_project_dict() @@ -119,6 +118,13 @@ def __init__( self.threads = None self.unique_columns = self.get_unique_columns() + if profiles_dir_override: + self.profiles_dir = Path(profiles_dir_override) + elif parse_version(self.dbt_version) < parse_version("1.3.0"): + self.profiles_dir = legacy_profiles_dir() + else: + self.profiles_dir = default_profiles_dir() + def get_datadiff_config(self) -> TDatadiffConfig: data_diff_vars = self.project_dict.get("vars", {}).get("data_diff", {}) prod_database = data_diff_vars.get("prod_database") @@ -211,9 +217,6 @@ def get_run_results_models(self): dbt_version = parse_version(run_results_obj.metadata.dbt_version) - if dbt_version < parse_version("1.3.0"): - self.profiles_dir = legacy_profiles_dir() - if dbt_version < parse_version(LOWER_DBT_V): raise DataDiffDbtRunResultsVersionError( f"Found dbt: v{dbt_version} Expected the dbt project's version to be >= {LOWER_DBT_V}"