Skip to content

Commit 9a310f4

Browse files
masonCheinTian
authored andcommitted
refactor: update resource seed sql file to adapt runner
1 parent 285081c commit 9a310f4

File tree

1 file changed

+47
-20
lines changed

1 file changed

+47
-20
lines changed

charts/csghub/scripts/02_seed_space_resources.sql

Lines changed: 47 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,28 +27,55 @@ SELECT pg_catalog.set_config('search_path', 'public', false);
2727
-- Seed Data for Name: space_resources; Type: TABLE DATA; Schema: public; Owner: csghub
2828
--
2929

30-
WITH selected_cluster AS (
31-
SELECT
32-
cluster_id
33-
FROM
34-
public.cluster_infos
35-
LIMIT 1)
36-
INSERT INTO public.space_resources (id, name, resources, cluster_id)
37-
VALUES
38-
(1, 'CPU basic · 0.5 vCPU · 1 GB', '{ "cpu": { "type": "Intel", "num": "0.5" }, "memory": "1Gi" }', ( SELECT cluster_id FROM selected_cluster)),
39-
(2, 'CPU basic · 2 vCPU · 4 GB', '{ "cpu": { "type": "Intel", "num": "2" }, "memory": "4Gi" }', ( SELECT cluster_id FROM selected_cluster))
30+
INSERT INTO public.space_resources (id, name, resources, cluster_id)
31+
SELECT
32+
1,
33+
'CPU basic · 0.5 vCPU · 1 GB',
34+
'{ "cpu": { "type": "Intel", "num": "0.5" }, "memory": "1Gi" }',
35+
COALESCE((SELECT cluster_id FROM public.cluster_infos LIMIT 1), '')
36+
UNION ALL
37+
SELECT
38+
2,
39+
'CPU basic · 2 vCPU · 4 GB',
40+
'{ "cpu": { "type": "Intel", "num": "2" }, "memory": "4Gi" }',
41+
COALESCE((SELECT cluster_id FROM public.cluster_infos LIMIT 1), '')
4042
ON CONFLICT (id)
41-
DO UPDATE SET
42-
name = EXCLUDED.name,
43-
resources = EXCLUDED.resources,
44-
cluster_id = EXCLUDED.cluster_id;
43+
DO UPDATE SET
44+
name = EXCLUDED.name,
45+
resources = EXCLUDED.resources,
46+
cluster_id = CASE
47+
WHEN EXCLUDED.cluster_id != '' THEN EXCLUDED.cluster_id
48+
ELSE space_resources.cluster_id
49+
END;
4550

4651
--
47-
-- Name: space_resources_id_seq; Type: SEQUENCE SET; Schema: public; Owner: csghub
52+
-- Create Trigger Function
4853
--
54+
CREATE OR REPLACE FUNCTION update_space_resources_cluster_id()
55+
RETURNS TRIGGER AS $$
56+
BEGIN
57+
-- Update cluster_id for id 1,2
58+
UPDATE public.space_resources
59+
SET cluster_id = NEW.cluster_id
60+
WHERE cluster_id = ''
61+
AND id IN (1, 2);
4962

50-
SELECT
51-
pg_catalog.setval('public.space_resources_id_seq', (
52-
SELECT
53-
MAX(id)
54-
FROM public.space_resources), TRUE);
63+
RETURN NEW;
64+
END;
65+
$$ LANGUAGE plpgsql;
66+
67+
--
68+
-- Create Trigger
69+
--
70+
DROP TRIGGER IF EXISTS trg_update_space_resources ON public.cluster_infos;
71+
72+
CREATE TRIGGER trg_update_space_resources
73+
AFTER INSERT ON public.cluster_infos
74+
FOR EACH ROW
75+
EXECUTE FUNCTION update_space_resources_cluster_id();
76+
77+
--
78+
-- Name: space_resources_id_seq; Type: SEQUENCE SET; Schema: public; Owner: csghub
79+
--
80+
SELECT pg_catalog.setval('public.space_resources_id_seq', (
81+
SELECT MAX(id) FROM public.space_resources), TRUE);

0 commit comments

Comments
 (0)