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

Modify db migration to delete orphaned processes

parent 8cd15903
No related branches found
No related tags found
1 merge request!408Feature/update v3 migrations
"""Update wf in process table and delete old workflows
"""Update workflows in process table and delete old processes and workflows
Revision ID: c38adde1a18e
Revises: 9fbb3c4411ea
......@@ -85,7 +85,49 @@ WHERE pr.pid = ps.pid
for mapping in update_mappings:
conn.execute(sa.text(sql_template), mapping)
# Delete input states referencing to orphaned workflows.
conn.execute(
sa.text(
"""
DELETE FROM input_states
WHERE input_states.pid IN (SELECT p.pid
FROM processes p
JOIN workflows w
ON p.workflow_id = w.workflow_id
JOIN processes_subscriptions ps
ON ps.pid = p.pid
JOIN subscriptions s
ON s.subscription_id = ps.subscription_id
JOIN products pro
ON s.product_id = pro.product_id
WHERE w."name" = 'validate_prefix_list'
AND pro."name" != 'GÉANT IP');
"""
)
)
# Delete processes refering to orphaned workflows.
conn.execute(
sa.text(
"""
DELETE FROM processes
WHERE processes.pid IN (SELECT p.pid
FROM processes p
JOIN workflows w
ON p.workflow_id = w.workflow_id
JOIN processes_subscriptions ps
ON ps.pid = p.pid
JOIN subscriptions s
ON s.subscription_id = ps.subscription_id
JOIN products pro
ON s.product_id = pro.product_id
WHERE w."name" = 'validate_prefix_list'
AND pro."name" != 'GÉANT IP');
"""
)
)
# Delete workflows for products that no longer exist.
conn.execute(
sa.text(
"""
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment