1 """Worker status field
2
3 Revision ID: a8e62d4c72cf
4 Revises: 75c8f17b8b51
5 Create Date: 2024-04-25 15:51:20.234353
6
7 """
8
9 import sqlalchemy as sa 1 ctx 1a
10 from alembic import op 1 ctx 1a
11
12 from prefect . server . utilities . database import UUID , Timestamp 1 ctx 1a
13
14 # revision identifiers, used by Alembic.
15 revision = "a8e62d4c72cf" 1 ctx 1a
16 down_revision = "75c8f17b8b51" 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 with op . batch_alter_table ( "work_pool" , schema = None ) as batch_op : 1 ctx 1a
23 batch_op . add_column ( 1 ctx 1a
24 sa . Column (
25 "last_transitioned_status_at" , Timestamp ( timezone = True ) , nullable = True
26 ) ,
27 )
28 batch_op . add_column ( sa . Column ( "last_status_event_id" , UUID ( ) , nullable = True ) ) 1 ctx 1a
29
30 with op . batch_alter_table ( "worker" , schema = None ) as batch_op : 1 ctx 1a
31 batch_op . add_column ( 1 ctx 1a
32 sa . Column (
33 "status" ,
34 sa . Enum ( "ONLINE" , "OFFLINE" , name = "worker_status" ) ,
35 server_default = "OFFLINE" ,
36 nullable = False ,
37 )
38 )
39
40
41 def downgrade ( ) : 1 ctx 1a
42 with op . batch_alter_table ( "worker" , schema = None ) as batch_op :
43 batch_op . drop_column ( "status" )
44
45 with op . batch_alter_table ( "work_pool" , schema = None ) as batch_op :
46 batch_op . drop_column ( "last_transitioned_status_at" )
47 batch_op . drop_column ( "last_status_event_id" )