1
+ """create execution status table
2
+
3
+ Revision ID: bfb1262d3195
4
+ Revises: 05e0693f8cbb
5
+ Create Date: 2021-05-28 16:12:40.561829
6
+
7
+ """
8
+ from alembic import op
9
+ import sqlalchemy as sa
10
+ from sqlalchemy .sql .sqltypes import Integer
11
+ from sqlalchemy .sql import func
12
+
13
+ # revision identifiers, used by Alembic.
14
+ revision = 'bfb1262d3195'
15
+ down_revision = '05e0693f8cbb'
16
+ branch_labels = None
17
+ depends_on = None
18
+
19
+
20
+ def upgrade ():
21
+ op .create_table (
22
+ "execution_status" ,
23
+ sa .Column ("_id" , sa .Integer , primary_key = True ),
24
+ sa .Column ("job_id" , sa .Integer , nullable = False ),
25
+ sa .Column ("status" , sa .String (32 ), nullable = False ),
26
+ sa .Column ("details" , sa .String (128 ), nullable = False ),
27
+ sa .Column ("update_stamp" , sa .DateTime , nullable = False , server_default = func .now ())
28
+ )
29
+
30
+ op .execute ("""CREATE FUNCTION last_upd_trig() RETURNS trigger
31
+ LANGUAGE plpgsql AS
32
+ $$BEGIN
33
+ NEW.update_stamp := current_timestamp;
34
+ RETURN NEW;
35
+ END;$$;""" )
36
+
37
+ op .execute ("""CREATE TRIGGER last_upd_trigger
38
+ BEFORE INSERT OR UPDATE ON execution_status
39
+ FOR EACH ROW
40
+ EXECUTE PROCEDURE last_upd_trig();"""
41
+ ) # Postgres-specific, obviously
42
+
43
+
44
+ def downgrade ():
45
+ op .drop_table ("execution_status" )
46
+ op .execute ("DROP FUNCTION last_upd_trig()" )
0 commit comments