From 044c3f623c98f72a38554b7b6b736868a7f53aeb Mon Sep 17 00:00:00 2001 From: George <34684178+gvee-uk@users.noreply.github.com> Date: Thu, 1 Sep 2022 23:19:29 +0100 Subject: [PATCH] fix: Get Specific Environment Reference ID (#56) The environment reference ID was not filtering on the folder name, leading to situations where multiple rows might be returned. When this occurs the result was non-deterministic and the SSIS job step would not be configured correctly. --- src/sql/db.py | 1 + src/sql/ssis/get_environment_reference_id.sql | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/sql/db.py b/src/sql/db.py index a8b830b..3e7c318 100644 --- a/src/sql/db.py +++ b/src/sql/db.py @@ -167,6 +167,7 @@ def agent_create_job_step_ssis( { "project_name": project_name, "environment_name": environment_name, + "folder_name": folder_name, }, return_results=True, )[0].environment_reference_id diff --git a/src/sql/ssis/get_environment_reference_id.sql b/src/sql/ssis/get_environment_reference_id.sql index e15f19d..0d63b60 100644 --- a/src/sql/ssis/get_environment_reference_id.sql +++ b/src/sql/ssis/get_environment_reference_id.sql @@ -1,8 +1,12 @@ -SELECT reference_id AS environment_reference_id -FROM catalog.environment_references +SELECT reference_id AS environment_reference_id +FROM SSISDB.catalog.environment_references INNER - JOIN catalog.projects + JOIN SSISDB.catalog.projects ON projects.project_id = environment_references.project_id + INNER + JOIN SSISDB.catalog.folders + ON folders.folder_id = projects.folder_id WHERE environment_references.environment_name = $environment_name AND projects.name = $project_name +AND folders.name = $folder_name ;