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 new file mode 100644 index 0000000000000000000000000000000000000000..4915aadf90b847b0479f80afdc47a62f548fa81b --- /dev/null +++ b/gso/migrations/versions/2025-05-28_90547df711c3_backfill_iptrunk_config_version.py @@ -0,0 +1,48 @@ +"""empty message. + +Revision ID: 90547df711c3 +Revises: 54477431c9ef +Create Date: 2025-05-28 10:15:07.579188 + +""" +import sqlalchemy as sa +from alembic import op + +# revision identifiers, used by Alembic. +revision = '90547df711c3' +down_revision = '54477431c9ef' +branch_labels = None +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' +); + """)) + + +def downgrade() -> 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' +) +DELETE FROM subscription_instance_values +WHERE resource_type_id = (SELECT resource_type_id FROM rt_id) + AND value = '1.0' + AND subscription_instance_id IN ( + SELECT subscription_instance_id FROM subscription_instances + WHERE product_block_id = ( + SELECT product_block_id FROM product_blocks WHERE name = 'IptrunkBlock' + ) + ); + """))