From 90ec0a0154248ee71454b0ce28d5cfefc2f8a8c6 Mon Sep 17 00:00:00 2001 From: Neda Moeini <neda.moeini@geant.org> Date: Wed, 28 May 2025 15:34:22 +0200 Subject: [PATCH] Upgrade the migration to prevent duplicates --- ...df711c3_backfill_iptrunk_config_version.py | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/gso/migrations/versions/2025-05-28_90547df711c3_backfill_iptrunk_config_version.py b/gso/migrations/versions/2025-05-28_90547df711c3_backfill_iptrunk_config_version.py index 4915aadf9..a3746777e 100644 --- a/gso/migrations/versions/2025-05-28_90547df711c3_backfill_iptrunk_config_version.py +++ b/gso/migrations/versions/2025-05-28_90547df711c3_backfill_iptrunk_config_version.py @@ -18,15 +18,22 @@ depends_on = None def upgrade() -> None: conn = op.get_bind() conn.execute(sa.text(""" -WITH rt_id AS ( - SELECT resource_type_id FROM resource_types WHERE resource_type = 'iptrunk_config_version' -) -INSERT INTO subscription_instance_values (subscription_instance_id, resource_type_id, value) -SELECT si.subscription_instance_id, rt_id.resource_type_id, '1.0' -FROM rt_id, subscription_instances si -WHERE si.product_block_id = ( - SELECT product_block_id FROM product_blocks WHERE name = 'IptrunkBlock' -); + WITH rt_id AS ( + SELECT resource_type_id FROM resource_types WHERE resource_type = 'iptrunk_config_version' + ) + INSERT INTO subscription_instance_values (subscription_instance_id, resource_type_id, value) + SELECT si.subscription_instance_id, rt_id.resource_type_id, '1.0' + FROM rt_id, subscription_instances si + WHERE si.product_block_id = ( + SELECT product_block_id FROM product_blocks WHERE name = 'IptrunkBlock' + ) + AND NOT EXISTS ( + SELECT 1 + FROM subscription_instance_values siv + WHERE + siv.subscription_instance_id = si.subscription_instance_id + AND siv.resource_type_id = rt_id.resource_type_id + ); """)) -- GitLab