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 4915aadf90b847b0479f80afdc47a62f548fa81b..a3746777eb1e4c348a933b8fc1f3aded66f61919 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 + ); """))