Skip to content
Snippets Groups Projects
Verified Commit ffc01d4c authored by Karel van Klink's avatar Karel van Klink :smiley_cat:
Browse files

Add database migration to update L2C subscription descriptions to the new format

parent b441648b
No related branches found
No related tags found
1 merge request!433Feature/rename geant plus descriptions
Pipeline #94948 passed
"""Update Layer 2 Circuit subscription descriptions.
Revision ID: 550e3aebc1c5
Revises: d23b59abc6a5
Create Date: 2025-06-04 16:08:56.288635
This database migration updates the description of all Layer2Circuit-type subscriptions by having fit the format:
``product_name - custom_service_name``.
"""
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = '550e3aebc1c5'
down_revision = 'd23b59abc6a5'
branch_labels = None
depends_on = None
def upgrade() -> None:
conn = op.get_bind()
conn.execute(sa.text("""
UPDATE subscriptions s
SET description = (
Regexp_replace(subscriptions.description, '^(.+) - .+$', '\\1 - ') ||
subscription_instance_values.value
)
FROM subscriptions
JOIN products
ON subscriptions.product_id = products.product_id
JOIN product_product_blocks
ON products.product_id = product_product_blocks.product_id
JOIN product_block_resource_types
ON product_product_blocks.product_block_id =
product_block_resource_types.product_block_id
JOIN resource_types
ON product_block_resource_types.resource_type_id =
resource_types.resource_type_id
JOIN subscription_instances
ON subscriptions.subscription_id =
subscription_instances.subscription_id
JOIN subscription_instance_values
ON ( resource_types.resource_type_id =
subscription_instance_values.resource_type_id
AND subscription_instances.subscription_instance_id =
subscription_instance_values.subscription_instance_id )
WHERE resource_types.resource_type = 'custom_service_name'
AND products.product_type = 'Layer2Circuit'
AND s.subscription_id = subscriptions.subscription_id;
"""))
def downgrade() -> None:
pass
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment