· 6 years ago · Sep 12, 2019, 07:50 PM
1BEGIN TRANSACTION;
2CREATE TABLE IF NOT EXISTS dev_demo_ml.deployment_objects (
3 deployment_dttm TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL,
4 object_nm VARCHAR (255) NOT NULL,
5 schema_nm VARCHAR (255) NOT NULL,
6 PRIMARY KEY (deployment_dttm,object_nm,schema_nm)
7)
8WITH (
9 OIDS = FALSE
10)
11TABLESPACE pg_default
12;
13
14CREATE TABLE IF NOT EXISTS dev_demo_ml.deployment (
15 deployment_id SERIAL,
16 branch_nm VARCHAR (255) NOT NULL,
17 user_nm VARCHAR (255) NOT NULL,
18 start_dttm TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL,
19 end_dttm TIMESTAMP WITH TIME ZONE DEFAULT NULL,
20 PRIMARY KEY (deployment_id)
21)
22WITH (
23 OIDS = FALSE
24)
25TABLESPACE pg_default
26;
27
28CREATE OR REPLACE PROCEDURE dev_demo_ml.sp_deployment_objects(a VARCHAR(255), b VARCHAR(255))
29LANGUAGE plpgsql
30AS $$
31BEGIN
32INSERT INTO
33 dev_demo_ml.deployment_objects (
34 object_nm
35 ,schema_nm)
36VALUES (
37 a
38 ,b)
39;
40END
41$$;
42
43CREATE OR REPLACE PROCEDURE dev_demo_ml.sp_deployment_start()
44LANGUAGE plpgsql
45AS $$
46BEGIN
47INSERT INTO
48 dev_demo_ml.deployment (
49 branch_nm
50 ,user_nm)
51VALUES (
52 'git_branch_name'
53 ,'db_user_name')
54;
55END
56$$;
57
58CALL dev_demo_ml.sp_deployment_start();
59CALL dev_demo_ml.sp_deployment_objects('sp_deployment_objects', 'dev_demo_ml');
60CALL dev_demo_ml.sp_deployment_objects('deployment_objects', 'dev_demo_ml');
61CALL dev_demo_ml.sp_deployment_objects('deployment', 'dev_demo_ml');
62CALL dev_demo_ml.sp_deployment_objects('sp_deployment_start', 'dev_demo_ml');
63
64END TRANSACTION;