Coverage for /usr/local/lib/python3.12/site-packages/prefect/server/database/_migrations/versions/sqlite/2022_02_17_151416_7c91cb86dc4e_add_agents_and_work_queues.py: 74%

19 statements  

« prev     ^ index     » next       coverage.py v7.10.6, created at 2025-12-05 13:38 +0000

1"""Add agents and work queues 

2 

3Revision ID: 7c91cb86dc4e 

4Revises: 619bea85701a 

5Create Date: 2022-02-17 15:14:16.697816 

6 

7""" 

8 

9import sqlalchemy as sa 1a

10from alembic import op 1a

11 

12import prefect 1a

13 

14# revision identifiers, used by Alembic. 

15revision = "7c91cb86dc4e" 1a

16down_revision = "619bea85701a" 1a

17branch_labels = None 1a

18depends_on = None 1a

19 

20 

21def upgrade(): 1a

22 op.create_table( 1a

23 "work_queue", 

24 sa.Column( 

25 "id", 

26 prefect.server.utilities.database.UUID(), 

27 server_default=sa.text( 

28 "(\n (\n lower(hex(randomblob(4))) \n || '-' \n " 

29 " || lower(hex(randomblob(2))) \n || '-4' \n ||" 

30 " substr(lower(hex(randomblob(2))),2) \n || '-' \n ||" 

31 " substr('89ab',abs(random()) % 4 + 1, 1) \n ||" 

32 " substr(lower(hex(randomblob(2))),2) \n || '-' \n ||" 

33 " lower(hex(randomblob(6)))\n )\n )" 

34 ), 

35 nullable=False, 

36 ), 

37 sa.Column( 

38 "created", 

39 prefect.server.utilities.database.Timestamp(timezone=True), 

40 server_default=sa.text("(strftime('%Y-%m-%d %H:%M:%f000', 'now'))"), 

41 nullable=False, 

42 ), 

43 sa.Column( 

44 "updated", 

45 prefect.server.utilities.database.Timestamp(timezone=True), 

46 server_default=sa.text("(strftime('%Y-%m-%d %H:%M:%f000', 'now'))"), 

47 nullable=False, 

48 ), 

49 sa.Column("name", sa.String(), nullable=False), 

50 sa.Column( 

51 "filter", 

52 prefect.server.utilities.database.Pydantic( 

53 prefect.server.schemas.core.QueueFilter 

54 ), 

55 server_default="{}", 

56 nullable=False, 

57 ), 

58 sa.Column("description", sa.String(), server_default="", nullable=False), 

59 sa.Column("is_paused", sa.Boolean(), server_default="0", nullable=False), 

60 sa.Column("concurrency_limit", sa.Integer(), nullable=True), 

61 sa.PrimaryKeyConstraint("id", name=op.f("pk_work_queue")), 

62 sa.UniqueConstraint("name", name=op.f("uq_work_queue__name")), 

63 ) 

64 op.create_index( 1a

65 op.f("ix_work_queue__updated"), "work_queue", ["updated"], unique=False 

66 ) 

67 op.create_table( 1a

68 "agent", 

69 sa.Column( 

70 "id", 

71 prefect.server.utilities.database.UUID(), 

72 server_default=sa.text( 

73 "(\n (\n lower(hex(randomblob(4))) \n || '-' \n " 

74 " || lower(hex(randomblob(2))) \n || '-4' \n ||" 

75 " substr(lower(hex(randomblob(2))),2) \n || '-' \n ||" 

76 " substr('89ab',abs(random()) % 4 + 1, 1) \n ||" 

77 " substr(lower(hex(randomblob(2))),2) \n || '-' \n ||" 

78 " lower(hex(randomblob(6)))\n )\n )" 

79 ), 

80 nullable=False, 

81 ), 

82 sa.Column( 

83 "created", 

84 prefect.server.utilities.database.Timestamp(timezone=True), 

85 server_default=sa.text("(strftime('%Y-%m-%d %H:%M:%f000', 'now'))"), 

86 nullable=False, 

87 ), 

88 sa.Column( 

89 "updated", 

90 prefect.server.utilities.database.Timestamp(timezone=True), 

91 server_default=sa.text("(strftime('%Y-%m-%d %H:%M:%f000', 'now'))"), 

92 nullable=False, 

93 ), 

94 sa.Column("name", sa.String(), nullable=False), 

95 sa.Column( 

96 "last_activity_time", 

97 prefect.server.utilities.database.Timestamp(timezone=True), 

98 server_default=sa.text("(strftime('%Y-%m-%d %H:%M:%f000', 'now'))"), 

99 nullable=False, 

100 ), 

101 sa.Column( 

102 "work_queue_id", prefect.server.utilities.database.UUID(), nullable=False 

103 ), 

104 sa.ForeignKeyConstraint( 

105 ["work_queue_id"], 

106 ["work_queue.id"], 

107 name=op.f("fk_agent__work_queue_id__work_queue"), 

108 ), 

109 sa.PrimaryKeyConstraint("id", name=op.f("pk_agent")), 

110 sa.UniqueConstraint("name", name=op.f("uq_agent__name")), 

111 ) 

112 op.create_index(op.f("ix_agent__updated"), "agent", ["updated"], unique=False) 1a

113 op.create_index( 1a

114 op.f("ix_agent__work_queue_id"), "agent", ["work_queue_id"], unique=False 

115 ) 

116 

117 

118def downgrade(): 1a

119 op.drop_index(op.f("ix_agent__work_queue_id"), table_name="agent") 

120 op.drop_index(op.f("ix_agent__updated"), table_name="agent") 

121 op.drop_table("agent") 

122 op.drop_index(op.f("ix_work_queue__updated"), table_name="work_queue") 

123 op.drop_table("work_queue")