1 """add_variables
2
3 Revision ID: 3d46e23593d6
4 Revises: 553920ec20e9
5 Create Date: 2023-04-05 13:43:01.901404
6
7 """
8
9 import sqlalchemy as sa 1 ctx 1a
10 from alembic import op 1 ctx 1a
11
12 import prefect 1 ctx 1a
13
14 # revision identifiers, used by Alembic.
15 revision = "3d46e23593d6" 1 ctx 1a
16 down_revision = "340f457b315f" 1 ctx 1a
17 branch_labels = None 1 ctx 1a
18 depends_on = None 1 ctx 1a
19
20
21 def upgrade ( ) : 1 ctx 1a
22 op . execute ( "PRAGMA foreign_keys=OFF" ) 1 ctx 1a
23
24 op . create_table ( 1 ctx 1a
25 "variable" ,
26 sa . Column (
27 "id" ,
28 prefect . server . utilities . database . UUID ( ) ,
29 server_default = sa . text (
30 "(\n (\n lower(hex(randomblob(4)))\n || '-'\n "
31 " || lower(hex(randomblob(2)))\n || '-4'\n ||"
32 " substr(lower(hex(randomblob(2))),2)\n || '-'\n ||"
33 " substr('89ab',abs(random()) % 4 + 1, 1)\n ||"
34 " substr(lower(hex(randomblob(2))),2)\n || '-'\n ||"
35 " lower(hex(randomblob(6)))\n )\n )"
36 ) ,
37 nullable = False ,
38 ) ,
39 sa . Column (
40 "created" ,
41 prefect . server . utilities . database . Timestamp ( timezone = True ) ,
42 server_default = sa . text ( "(strftime('%Y-%m-%d %H:%M:%f000', 'now'))" ) ,
43 nullable = False ,
44 ) ,
45 sa . Column (
46 "updated" ,
47 prefect . server . utilities . database . Timestamp ( timezone = True ) ,
48 server_default = sa . text ( "(strftime('%Y-%m-%d %H:%M:%f000', 'now'))" ) ,
49 nullable = False ,
50 ) ,
51 sa . Column ( "name" , sa . String ( ) , nullable = False ) ,
52 sa . Column ( "value" , sa . String ( ) , nullable = False ) ,
53 sa . Column (
54 "tags" ,
55 prefect . server . utilities . database . JSON ( astext_type = sa . Text ( ) ) ,
56 server_default = "[]" ,
57 nullable = False ,
58 ) ,
59 sa . PrimaryKeyConstraint ( "id" , name = op . f ( "pk_variable" ) ) ,
60 sa . UniqueConstraint ( "name" , name = op . f ( "uq_variable__name" ) ) ,
61 )
62 with op . batch_alter_table ( "variable" , schema = None ) as batch_op : 1 ctx 1a
63 batch_op . create_index ( 1 ctx 1a
64 batch_op . f ( "ix_variable__updated" ) , [ "updated" ] , unique = False
65 )
66
67 op . execute ( "PRAGMA foreign_keys=ON" ) 1 ctx 1a
68
69
70 def downgrade ( ) : 1 ctx 1a
71 op . execute ( "PRAGMA foreign_keys=OFF" )
72
73 with op . batch_alter_table ( "variable" , schema = None ) as batch_op :
74 batch_op . drop_index ( batch_op . f ( "ix_variable__updated" ) )
75
76 op . drop_table ( "variable" )
77
78 op . execute ( "PRAGMA foreign_keys=ON" )