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

65 statements  

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

1"""Rename Block to BlockDocument and BlockSpec to BlockSchema 

2 

3Revision ID: fd966d4ad99c 

4Revises: 71a57ec351d1 

5Create Date: 2022-04-19 11:48:31.878028 

6 

7""" 

8 

9from alembic import op 1a

10 

11# revision identifiers, used by Alembic. 

12revision = "fd966d4ad99c" 1a

13down_revision = "db6bde582447" 1a

14branch_labels = None 1a

15depends_on = None 1a

16 

17 

18def upgrade(): 1a

19 # First drop the foreign key constraints 

20 with op.batch_alter_table("block", schema=None) as batch_op: 1a

21 batch_op.drop_constraint("fk_block__block_spec_id__block_spec") 1a

22 

23 # Then rename the tables 

24 op.rename_table("block_spec", "block_schema") 1a

25 op.rename_table("block", "block_document") 1a

26 

27 # Handle indexes and column renames for block_document 

28 with op.batch_alter_table("block_document", schema=None) as batch_op: 1a

29 # Drop indexes first 

30 batch_op.drop_index("ix_block__is_default_storage_block") 1a

31 batch_op.drop_index("ix_block__name") 1a

32 batch_op.drop_index("ix_block__updated") 1a

33 batch_op.drop_index("uq_block__spec_id_name") 1a

34 

35 # Rename columns 

36 batch_op.alter_column("block_spec_id", new_column_name="block_schema_id") 1a

37 batch_op.alter_column( 1a

38 "is_default_storage_block", 

39 new_column_name="is_default_storage_block_document", 

40 ) 

41 

42 # Create new indexes 

43 with op.batch_alter_table("block_document", schema=None) as batch_op: 1a

44 batch_op.create_index( 1a

45 batch_op.f("ix_block_document__is_default_storage_block_document"), 

46 ["is_default_storage_block_document"], 

47 unique=False, 

48 ) 

49 batch_op.create_index( 1a

50 batch_op.f("ix_block_document__name"), ["name"], unique=False 

51 ) 

52 batch_op.create_index( 1a

53 batch_op.f("ix_block_document__updated"), ["updated"], unique=False 

54 ) 

55 batch_op.create_index( 1a

56 "uq_block__schema_id_name", ["block_schema_id", "name"], unique=True 

57 ) 

58 

59 # Re-create foreign key at the end 

60 batch_op.create_foreign_key( 1a

61 batch_op.f("fk_block__block_schema_id__block_schema"), 

62 "block_schema", 

63 ["block_schema_id"], 

64 ["id"], 

65 ondelete="cascade", 

66 ) 

67 

68 with op.batch_alter_table("block_schema", schema=None) as batch_op: 1a

69 batch_op.drop_index("ix_block_spec__type") 1a

70 batch_op.drop_index("ix_block_spec__updated") 1a

71 batch_op.drop_index("uq_block_spec__name_version") 1a

72 batch_op.create_index("ix_block_schema__type", ["type"], unique=False) 1a

73 batch_op.create_index( 1a

74 batch_op.f("ix_block_schema__updated"), ["updated"], unique=False 

75 ) 

76 batch_op.create_index( 1a

77 "uq_block_schema__name_version", ["name", "version"], unique=True 

78 ) 

79 batch_op.drop_constraint("pk_block_spec") 1a

80 batch_op.create_primary_key("pk_block_schema", ["id"]) 1a

81 

82 with op.batch_alter_table("block_document", schema=None) as batch_op: 1a

83 batch_op.create_primary_key("pk_block_document", ["id"]) 1a

84 batch_op.create_foreign_key( 1a

85 batch_op.f("fk_block__block_schema_id__block_schema"), 

86 "block_schema", 

87 ["block_schema_id"], 

88 ["id"], 

89 ondelete="cascade", 

90 ) 

91 

92 

93def downgrade(): 1a

94 op.rename_table("block_schema", "block_spec") 

95 op.rename_table("block_document", "block") 

96 

97 with op.batch_alter_table("block", schema=None) as batch_op: 

98 batch_op.drop_index("ix_block_document__is_default_storage_block_document") 

99 batch_op.drop_index("ix_block_document__name") 

100 batch_op.drop_index("ix_block_document__updated") 

101 batch_op.drop_index("uq_block__schema_id_name") 

102 batch_op.drop_constraint("fk_block__block_schema_id__block_schema") 

103 batch_op.drop_constraint("pk_block_document") 

104 

105 with op.batch_alter_table("block", schema=None) as batch_op: 

106 batch_op.alter_column("block_schema_id", new_column_name="block_spec_id") 

107 batch_op.alter_column( 

108 "is_default_storage_block_document", 

109 new_column_name="is_default_storage_block", 

110 ) 

111 

112 with op.batch_alter_table("block", schema=None) as batch_op: 

113 batch_op.create_index( 

114 batch_op.f("ix_block__is_default_storage_block"), 

115 ["is_default_storage_block"], 

116 unique=False, 

117 ) 

118 batch_op.create_index(batch_op.f("ix_block__name"), ["name"], unique=False) 

119 batch_op.create_index( 

120 batch_op.f("ix_block__updated"), ["updated"], unique=False 

121 ) 

122 batch_op.create_index( 

123 "uq_block__spec_id_name", ["block_spec_id", "name"], unique=True 

124 ) 

125 

126 with op.batch_alter_table("block_spec", schema=None) as batch_op: 

127 batch_op.drop_index("ix_block_schema__type") 

128 batch_op.drop_index("ix_block_schema__updated") 

129 batch_op.drop_index("uq_block_schema__name_version") 

130 batch_op.create_index("ix_block_spec__type", ["type"], unique=False) 

131 batch_op.create_index( 

132 batch_op.f("ix_block_spec__updated"), ["updated"], unique=False 

133 ) 

134 batch_op.create_index( 

135 "uq_block_spec__name_version", ["name", "version"], unique=True 

136 ) 

137 batch_op.drop_constraint("pk_block_schema") 

138 batch_op.create_primary_key("pk_block_spec", ["id"]) 

139 

140 with op.batch_alter_table("block", schema=None) as batch_op: 

141 batch_op.create_primary_key("pk_block_data", ["id"]) 

142 batch_op.create_foreign_key( 

143 batch_op.f("fk_block__block_spec_id__block_spec"), 

144 "block_spec", 

145 ["block_spec_id"], 

146 ["id"], 

147 ondelete="cascade", 

148 )