1 """Add block_spec_id to blocks
2
3 Revision ID: c8ff35f94028
4 Revises: f327e877e423
5 Create Date: 2022-02-21 14:59:16.180033
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 = "c8ff35f94028" 1 ctx 1a
16 down_revision = "f327e877e423" 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 # ### commands auto generated by Alembic - please adjust! ###
23 with op . batch_alter_table ( "block" , schema = None ) as batch_op : 1 ctx 1a
24 batch_op . add_column ( 1 ctx 1a
25 sa . Column (
26 "block_spec_id" ,
27 prefect . server . utilities . database . UUID ( ) ,
28 nullable = False ,
29 )
30 )
31 batch_op . drop_constraint ( "uq_block__name" , type_ = "unique" ) 1 ctx 1a
32 batch_op . create_index ( 1 ctx 1a
33 "uq_block__spec_id_name" , [ "block_spec_id" , "name" ] , unique = True
34 )
35 batch_op . create_foreign_key ( 1 ctx 1a
36 batch_op . f ( "fk_block__block_spec_id__block_spec" ) ,
37 "block_spec" ,
38 [ "block_spec_id" ] ,
39 [ "id" ] ,
40 ondelete = "cascade" ,
41 )
42 batch_op . drop_column ( "blockref" ) 1 ctx 1a
43 batch_op . add_column ( 1 ctx 1a
44 sa . Column (
45 "is_default_storage_block" ,
46 sa . Boolean ( ) ,
47 server_default = "0" ,
48 nullable = True ,
49 )
50 )
51 batch_op . create_index ( 1 ctx 1a
52 batch_op . f ( "ix_block__is_default_storage_block" ) ,
53 [ "is_default_storage_block" ] ,
54 unique = False ,
55 )
56 # ### end Alembic commands ###
57
58
59 def downgrade ( ) : 1 ctx 1a
60 # ### commands auto generated by Alembic - please adjust! ###
61 with op . batch_alter_table ( "block" , schema = None ) as batch_op :
62 batch_op . add_column ( sa . Column ( "blockref" , sa . VARCHAR ( ) , nullable = True ) )
63 batch_op . drop_constraint (
64 batch_op . f ( "fk_block__block_spec_id__block_spec" ) , type_ = "foreignkey"
65 )
66 batch_op . drop_index ( "uq_block__spec_id_name" )
67 batch_op . create_unique_constraint ( "uq_block__name" , [ "name" ] )
68 batch_op . drop_column ( "block_spec_id" )
69 batch_op . drop_index ( batch_op . f ( "ix_block__is_default_storage_block" ) )
70 batch_op . drop_column ( "is_default_storage_block" )
71
72 # ### end Alembic commands ###