Skip to content

Commit 2d702be

Browse files
committed
make the query transactional
1 parent 748e44f commit 2d702be

File tree

2 files changed

+69
-10
lines changed

2 files changed

+69
-10
lines changed
Lines changed: 67 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,67 @@
1-
DELETE FROM plugin_step_variable WHERE plugin_step_id =(SELECT ps.id FROM plugin_metadata p inner JOIN plugin_step ps on ps.plugin_id=p.id WHERE p.plugin_version='1.0.1' and p.name='Terraform CLI v1.0.0' and p.deleted=false and ps."index"=1 and ps.deleted=false);
2-
DELETE FROM plugin_step WHERE plugin_id = (SELECT id FROM plugin_metadata WHERE plugin_version='1.0.1' and name='Terraform CLI v1.0.0' and deleted=false);
3-
DELETE from plugin_pipeline_script where id = (SELECT script_id from plugin_step WHERE plugin_id=(SELECT id FROM plugin_metadata WHERE plugin_version='1.0.1' and name='Terraform CLI v1.0.0' and deleted=false));
4-
DELETE FROM plugin_stage_mapping WHERE plugin_id =(SELECT id FROM plugin_metadata WHERE plugin_version='1.0.1' and name='Terraform CLI v1.0.0' and deleted=false);
5-
DELETE FROM plugin_metadata WHERE plugin_version='1.0.1' and name ='Terraform CLI v1.0.0' and deleted=false;
6-
UPDATE plugin_metadata SET is_latest = true WHERE id = (SELECT id FROM plugin_metadata WHERE name= 'Terraform CLI v1.0.0' and is_latest= false and plugin_version='1.0.0');
1+
BEGIN;
2+
3+
-- Delete plugin step variable (for step index=1)
4+
DELETE FROM plugin_step_variable
5+
WHERE plugin_step_id = (
6+
SELECT ps.id
7+
FROM plugin_metadata p
8+
INNER JOIN plugin_step ps ON ps.plugin_id = p.id
9+
WHERE p.plugin_version = '1.0.1'
10+
AND p.name = 'Terraform CLI v1.0.0'
11+
AND p.deleted = false
12+
AND ps."index" = 1
13+
AND ps.deleted = false
14+
);
15+
16+
-- Delete plugin steps
17+
DELETE FROM plugin_step
18+
WHERE plugin_id = (
19+
SELECT id
20+
FROM plugin_metadata
21+
WHERE plugin_version = '1.0.1'
22+
AND name = 'Terraform CLI v1.0.0'
23+
AND deleted = false
24+
);
25+
26+
-- Delete pipeline script
27+
DELETE FROM plugin_pipeline_script
28+
WHERE id = (
29+
SELECT script_id
30+
FROM plugin_step
31+
WHERE plugin_id = (
32+
SELECT id
33+
FROM plugin_metadata
34+
WHERE plugin_version = '1.0.1'
35+
AND name = 'Terraform CLI v1.0.0'
36+
AND deleted = false
37+
)
38+
);
39+
40+
-- Delete stage mappings
41+
DELETE FROM plugin_stage_mapping
42+
WHERE plugin_id = (
43+
SELECT id
44+
FROM plugin_metadata
45+
WHERE plugin_version = '1.0.1'
46+
AND name = 'Terraform CLI v1.0.0'
47+
AND deleted = false
48+
);
49+
50+
-- Delete plugin metadata entry
51+
DELETE FROM plugin_metadata
52+
WHERE plugin_version = '1.0.1'
53+
AND name = 'Terraform CLI v1.0.0'
54+
AND deleted = false;
55+
56+
-- Mark previous version as latest
57+
UPDATE plugin_metadata
58+
SET is_latest = true
59+
WHERE id = (
60+
SELECT id
61+
FROM plugin_metadata
62+
WHERE name = 'Terraform CLI v1.0.0'
63+
AND is_latest = false
64+
AND plugin_version = '1.0.0'
65+
);
66+
67+
COMMIT;

scripts/sql/34504202_terraform_cli_v1_1_0.up.sql

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* Copyright (c) 2025. Devtron Inc.
33
*/
4-
4+
BEGIN;
55

66
-- Update the existing entry is_latest false for terrfaorm plugin
77
UPDATE plugin_metadata SET is_latest = false WHERE id = (SELECT id FROM plugin_metadata WHERE name= 'Terraform CLI v1.0.0' and is_latest= true);
@@ -52,6 +52,4 @@ VALUES
5252
(nextval('id_seq_plugin_step_variable'),(SELECT ps.id FROM plugin_metadata p inner JOIN plugin_step ps on ps.plugin_id=p.id WHERE p.name='Terraform CLI v1.0.0' and ps."index"=1 and p.plugin_version='1.0.1' and ps.deleted=false),'ARGS','STRING','Specifies Terraform CLI commands to run. Example: plan -var-file=myvars.tfvars','t','t','--help',null,'INPUT','NEW',null,1,null,null,'f','now()',1,'now()',1),
5353
(nextval('id_seq_plugin_step_variable'),(SELECT ps.id FROM plugin_metadata p inner JOIN plugin_step ps on ps.plugin_id=p.id WHERE p.name='Terraform CLI v1.0.0' and ps."index"=1 and p.plugin_version='1.0.1' and ps.deleted=false),'RUN_TERRAFORM_INIT','BOOL','Determines whether to run the Terraform initialization command.','t','t','TRUE',null,'INPUT','NEW',null,1,null,null,'f','now()',1,'now()',1),
5454
(nextval('id_seq_plugin_step_variable'),(SELECT ps.id FROM plugin_metadata p inner JOIN plugin_step ps on ps.plugin_id=p.id WHERE p.name='Terraform CLI v1.0.0' and ps."index"=1 and p.plugin_version='1.0.1' and ps.deleted=false),'ADDITIONALPARAMS','STRING','Provides key-value pairs to inject into the Terraform container.Example: VAR1=value1 VAR2=value2c','t','t',null,null,'INPUT','NEW',null,1,null,null,'f','now()',1,'now()',1);
55-
56-
57-
55+
COMMIT;

0 commit comments

Comments
 (0)