1 """Add infrastructure block id to deployments
2
3 Revision ID: 638cbcc2a158
4 Revises: 061c7e518b40
5 Create Date: 2022-07-11 11:33:14.404779
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 = "638cbcc2a158" 1 ctx 1a
16 down_revision = "061c7e518b40" 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 with op . batch_alter_table ( "deployment" , schema = None ) as batch_op : 1 ctx 1a
25 batch_op . add_column ( 1 ctx 1a
26 sa . Column (
27 "infrastructure_document_id" ,
28 prefect . server . utilities . database . UUID ( ) ,
29 nullable = True ,
30 )
31 )
32 batch_op . create_foreign_key ( 1 ctx 1a
33 batch_op . f ( "fk_deployment__infrastructure_document_id__block_document" ) ,
34 "block_document" ,
35 [ "infrastructure_document_id" ] ,
36 [ "id" ] ,
37 ondelete = "CASCADE" ,
38 )
39
40 op . execute ( "PRAGMA foreign_keys=ON" ) 1 ctx 1a
41
42 with op . batch_alter_table ( "flow_run" , schema = None ) as batch_op : 1 ctx 1a
43 batch_op . add_column ( 1 ctx 1a
44 sa . Column (
45 "infrastructure_document_id" ,
46 prefect . server . utilities . database . UUID ( ) ,
47 nullable = True ,
48 )
49 )
50 batch_op . create_foreign_key ( 1 ctx 1a
51 batch_op . f ( "fk_flow_run__infrastructure_document_id__block_document" ) ,
52 "block_document" ,
53 [ "infrastructure_document_id" ] ,
54 [ "id" ] ,
55 ondelete = "CASCADE" ,
56 )
57
58
59 def downgrade ( ) : 1 ctx 1a
60 with op . batch_alter_table ( "deployment" , schema = None ) as batch_op :
61 batch_op . drop_constraint (
62 batch_op . f ( "fk_deployment__infrastructure_document_id__block_document" ) ,
63 type_ = "foreignkey" ,
64 )
65 batch_op . drop_column ( "infrastructure_document_id" )
66
67 with op . batch_alter_table ( "flow_run" , schema = None ) as batch_op :
68 batch_op . drop_constraint (
69 batch_op . f ( "fk_flow_run__infrastructure_document_id__block_document" ) ,
70 type_ = "foreignkey" ,
71 )
72 batch_op . drop_column ( "infrastructure_document_id" )