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

19 statements  

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

1"""add_variables 

2 

3Revision ID: 3d46e23593d6 

4Revises: 553920ec20e9 

5Create Date: 2023-04-05 13:43:01.901404 

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 = "3d46e23593d6" 1a

16down_revision = "340f457b315f" 1a

17branch_labels = None 1a

18depends_on = None 1a

19 

20 

21def upgrade(): 1a

22 op.execute("PRAGMA foreign_keys=OFF") 1a

23 

24 op.create_table( 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: 1a

63 batch_op.create_index( 1a

64 batch_op.f("ix_variable__updated"), ["updated"], unique=False 

65 ) 

66 

67 op.execute("PRAGMA foreign_keys=ON") 1a

68 

69 

70def downgrade(): 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")