From 8f3c5554f997556c7f92a98ed480336de524bb52 Mon Sep 17 00:00:00 2001 From: lmiranda Date: Sun, 18 Jan 2026 12:20:26 -0500 Subject: [PATCH] fix: Run dbt deps before dbt run to install packages dbt requires packages specified in packages.yml to be installed before running models. Added dbt deps step to the pipeline. Co-Authored-By: Claude Opus 4.5 --- scripts/data/load_toronto_data.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/scripts/data/load_toronto_data.py b/scripts/data/load_toronto_data.py index dc625be..3cc7495 100644 --- a/scripts/data/load_toronto_data.py +++ b/scripts/data/load_toronto_data.py @@ -298,11 +298,25 @@ class DataPipeline: return False if self.dry_run: + logger.info(" [DRY RUN] Would run: dbt deps") logger.info(" [DRY RUN] Would run: dbt run") logger.info(" [DRY RUN] Would run: dbt test") return True try: + # Install dbt packages if needed + logger.info(" Running dbt deps...") + result = subprocess.run( + [dbt_cmd, "deps", "--profiles-dir", str(dbt_project_dir)], + cwd=dbt_project_dir, + capture_output=True, + text=True, + ) + + if result.returncode != 0: + logger.error(f"dbt deps failed:\n{result.stdout}\n{result.stderr}") + return False + # Run dbt models logger.info(" Running dbt run...") result = subprocess.run(