Skip to content
Snippets Groups Projects

Feature/nat178 trunks isis metric modify

Merged Simone Spinelli requested to merge feature/nat178-trunks_isis_metric_modify into develop
12 files
+ 791
355
Compare changes
  • Side-by-side
  • Inline
Files
12
 
"""Add device access_via_ts attr.
 
 
Revision ID: 84d0ad6e7294
 
Revises: c7def54cc165
 
Create Date: 2023-06-18 12:03:23.365781
 
 
"""
 
import sqlalchemy as sa
 
from alembic import op
 
 
# revision identifiers, used by Alembic.
 
revision = '84d0ad6e7294'
 
down_revision = 'c7def54cc165'
 
branch_labels = None
 
depends_on = None
 
 
 
def upgrade() -> None:
 
conn = op.get_bind()
 
conn.execute("""
 
INSERT INTO resource_types (resource_type, description) VALUES ('device_access_via_ts', 'Access to the device via terminal server') RETURNING resource_types.resource_type_id
 
""")
 
conn.execute("""
 
INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('DeviceBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('device_access_via_ts')))
 
""")
 
conn.execute("""
 
 
WITH subscription_instance_ids AS (
 
SELECT subscription_instances.subscription_instance_id
 
FROM subscription_instances
 
WHERE subscription_instances.product_block_id IN (
 
SELECT product_blocks.product_block_id
 
FROM product_blocks
 
WHERE product_blocks.name = 'DeviceBlock'
 
)
 
)
 
 
INSERT INTO
 
subscription_instance_values (subscription_instance_id, resource_type_id, value)
 
SELECT
 
subscription_instance_ids.subscription_instance_id,
 
resource_types.resource_type_id,
 
'false'
 
FROM resource_types
 
CROSS JOIN subscription_instance_ids
 
WHERE resource_types.resource_type = 'device_access_via_ts'
 
 
""")
 
 
 
def downgrade() -> None:
 
conn = op.get_bind()
 
conn.execute("""
 
DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('DeviceBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('device_access_via_ts'))
 
""")
 
conn.execute("""
 
DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('DeviceBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('device_access_via_ts'))
 
""")
 
conn.execute("""
 
DELETE FROM subscription_instance_values WHERE subscription_instance_values.resource_type_id IN (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('device_access_via_ts'))
 
""")
 
conn.execute("""
 
DELETE FROM resource_types WHERE resource_types.resource_type IN ('device_access_via_ts')
 
""")
Loading