Coverage for rest_api/migrations/0064_remove_mutation_alignments_remove_mutation_gene_and_more.py: 100%

5 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-08-10 03:22 +0000

1# Generated by Django 5.1.4 on 2024-12-19 09:37 

2 

3import django.db.models.deletion 

4from django.db import migrations, models 

5 

6 

7class Migration(migrations.Migration): 

8 

9 dependencies = [ 

10 ("rest_api", "0063_remove_mutation_parent_id_mutation_parent"), 

11 ] 

12 

13 operations = [ 

14 migrations.RemoveField( 

15 model_name="mutation", 

16 name="alignments", 

17 ), 

18 migrations.RemoveField( 

19 model_name="mutation", 

20 name="gene", 

21 ), 

22 migrations.RemoveField( 

23 model_name="mutation", 

24 name="parent", 

25 ), 

26 migrations.RemoveField( 

27 model_name="mutation", 

28 name="replicon", 

29 ), 

30 migrations.RemoveField( 

31 model_name="mutation2annotation", 

32 name="mutation", 

33 ), 

34 migrations.RemoveField( 

35 model_name="mutation2annotation", 

36 name="alignment", 

37 ), 

38 migrations.RemoveField( 

39 model_name="mutation2annotation", 

40 name="annotation", 

41 ), 

42 migrations.AlterField( 

43 model_name="alignment", 

44 name="replicon", 

45 field=models.ForeignKey( 

46 on_delete=django.db.models.deletion.CASCADE, to="rest_api.replicon" 

47 ), 

48 ), 

49 migrations.AlterField( 

50 model_name="alignment", 

51 name="sequence", 

52 field=models.ForeignKey( 

53 on_delete=django.db.models.deletion.CASCADE, 

54 related_name="alignments", 

55 to="rest_api.sequence", 

56 ), 

57 ), 

58 migrations.AlterField( 

59 model_name="annotationtype", 

60 name="impact", 

61 field=models.CharField(max_length=20), 

62 ), 

63 migrations.AlterField( 

64 model_name="annotationtype", 

65 name="seq_ontology", 

66 field=models.CharField(max_length=50), 

67 ), 

68 migrations.AlterField( 

69 model_name="gene", 

70 name="end", 

71 field=models.BigIntegerField(), 

72 ), 

73 migrations.AlterField( 

74 model_name="gene", 

75 name="replicon", 

76 field=models.ForeignKey( 

77 on_delete=django.db.models.deletion.CASCADE, to="rest_api.replicon" 

78 ), 

79 ), 

80 migrations.AlterField( 

81 model_name="gene", 

82 name="start", 

83 field=models.BigIntegerField(), 

84 ), 

85 migrations.AlterField( 

86 model_name="gene", 

87 name="strand", 

88 field=models.BigIntegerField(), 

89 ), 

90 migrations.AlterField( 

91 model_name="genesegment", 

92 name="gene", 

93 field=models.ForeignKey( 

94 on_delete=django.db.models.deletion.CASCADE, to="rest_api.gene" 

95 ), 

96 ), 

97 migrations.AlterField( 

98 model_name="replicon", 

99 name="reference", 

100 field=models.ForeignKey( 

101 on_delete=django.db.models.deletion.CASCADE, to="rest_api.reference" 

102 ), 

103 ), 

104 migrations.AlterField( 

105 model_name="replicon", 

106 name="sequence", 

107 field=models.TextField(), 

108 ), 

109 migrations.AlterField( 

110 model_name="sample", 

111 name="datahash", 

112 field=models.CharField(max_length=50), 

113 ), 

114 migrations.AlterField( 

115 model_name="sample", 

116 name="name", 

117 field=models.CharField(max_length=100, unique=True), 

118 ), 

119 migrations.AlterField( 

120 model_name="sample", 

121 name="sequence", 

122 field=models.ForeignKey( 

123 on_delete=django.db.models.deletion.DO_NOTHING, to="rest_api.sequence" 

124 ), 

125 ), 

126 migrations.CreateModel( 

127 name="NucleotideMutation", 

128 fields=[ 

129 ( 

130 "id", 

131 models.BigAutoField( 

132 auto_created=True, 

133 primary_key=True, 

134 serialize=False, 

135 verbose_name="ID", 

136 ), 

137 ), 

138 ("ref", models.TextField(blank=True, null=True)), 

139 ("alt", models.TextField(blank=True, null=True)), 

140 ("start", models.BigIntegerField()), 

141 ("end", models.BigIntegerField()), 

142 ( 

143 "alignments", 

144 models.ManyToManyField( 

145 related_name="nucleotide_mutations", to="rest_api.alignment" 

146 ), 

147 ), 

148 ( 

149 "replicon", 

150 models.ForeignKey( 

151 blank=True, 

152 null=True, 

153 on_delete=django.db.models.deletion.CASCADE, 

154 to="rest_api.replicon", 

155 ), 

156 ), 

157 ], 

158 options={ 

159 "db_table": "nucleotide_mutation", 

160 }, 

161 ), 

162 migrations.CreateModel( 

163 name="AminoAcidMutation", 

164 fields=[ 

165 ( 

166 "id", 

167 models.BigAutoField( 

168 auto_created=True, 

169 primary_key=True, 

170 serialize=False, 

171 verbose_name="ID", 

172 ), 

173 ), 

174 ("ref", models.TextField(blank=True, null=True)), 

175 ("alt", models.TextField(blank=True, null=True)), 

176 ("start", models.BigIntegerField(blank=True, null=True)), 

177 ("end", models.BigIntegerField(blank=True, null=True)), 

178 ( 

179 "alignments", 

180 models.ManyToManyField( 

181 related_name="amino_acid_mutations", to="rest_api.alignment" 

182 ), 

183 ), 

184 ( 

185 "gene", 

186 models.ForeignKey( 

187 blank=True, 

188 null=True, 

189 on_delete=django.db.models.deletion.CASCADE, 

190 to="rest_api.gene", 

191 ), 

192 ), 

193 ( 

194 "replicon", 

195 models.ForeignKey( 

196 blank=True, 

197 null=True, 

198 on_delete=django.db.models.deletion.CASCADE, 

199 to="rest_api.replicon", 

200 ), 

201 ), 

202 ("parent", models.ManyToManyField(to="rest_api.nucleotidemutation")), 

203 ], 

204 options={ 

205 "db_table": "amino_acid_mutation", 

206 }, 

207 ), 

208 migrations.AddField( 

209 model_name="annotationtype", 

210 name="mutations", 

211 field=models.ManyToManyField( 

212 related_name="annotations", to="rest_api.nucleotidemutation" 

213 ), 

214 ), 

215 migrations.DeleteModel( 

216 name="Alignment2Mutation", 

217 ), 

218 migrations.DeleteModel( 

219 name="Mutation", 

220 ), 

221 migrations.DeleteModel( 

222 name="Mutation2Annotation", 

223 ), 

224 migrations.AddIndex( 

225 model_name="nucleotidemutation", 

226 index=models.Index(fields=["start"], name="nucleotide__start_6615b2_idx"), 

227 ), 

228 migrations.AddIndex( 

229 model_name="nucleotidemutation", 

230 index=models.Index(fields=["end"], name="nucleotide__end_003063_idx"), 

231 ), 

232 migrations.AddIndex( 

233 model_name="nucleotidemutation", 

234 index=models.Index(fields=["ref"], name="nucleotide__ref_f7c83c_idx"), 

235 ), 

236 migrations.AddIndex( 

237 model_name="nucleotidemutation", 

238 index=models.Index(fields=["alt"], name="nucleotide__alt_8605ca_idx"), 

239 ), 

240 migrations.AddConstraint( 

241 model_name="nucleotidemutation", 

242 constraint=models.UniqueConstraint( 

243 fields=("ref", "alt", "start", "end", "replicon"), 

244 name="unique_nt_mutation", 

245 ), 

246 ), 

247 migrations.AddConstraint( 

248 model_name="nucleotidemutation", 

249 constraint=models.UniqueConstraint( 

250 condition=models.Q(("alt__isnull", True)), 

251 fields=("ref", "start", "end", "replicon"), 

252 name="unique_nt_mutation_null_alt", 

253 ), 

254 ), 

255 migrations.AddConstraint( 

256 model_name="nucleotidemutation", 

257 constraint=models.UniqueConstraint( 

258 condition=models.Q(("ref__isnull", True)), 

259 fields=("alt", "start", "end", "replicon"), 

260 name="unique_nt_mutation_null_ref", 

261 ), 

262 ), 

263 migrations.AddIndex( 

264 model_name="aminoacidmutation", 

265 index=models.Index(fields=["gene"], name="amino_acid__gene_id_d4203e_idx"), 

266 ), 

267 migrations.AddIndex( 

268 model_name="aminoacidmutation", 

269 index=models.Index(fields=["start"], name="amino_acid__start_11ae3a_idx"), 

270 ), 

271 migrations.AddIndex( 

272 model_name="aminoacidmutation", 

273 index=models.Index(fields=["end"], name="amino_acid__end_e8901f_idx"), 

274 ), 

275 migrations.AddIndex( 

276 model_name="aminoacidmutation", 

277 index=models.Index(fields=["ref"], name="amino_acid__ref_be60a6_idx"), 

278 ), 

279 migrations.AddIndex( 

280 model_name="aminoacidmutation", 

281 index=models.Index(fields=["alt"], name="amino_acid__alt_1cd2ff_idx"), 

282 ), 

283 migrations.AddConstraint( 

284 model_name="aminoacidmutation", 

285 constraint=models.UniqueConstraint( 

286 fields=("ref", "alt", "start", "end", "gene", "replicon"), 

287 name="unique_aa_mutation", 

288 ), 

289 ), 

290 migrations.AddConstraint( 

291 model_name="aminoacidmutation", 

292 constraint=models.UniqueConstraint( 

293 condition=models.Q(("gene__isnull", True)), 

294 fields=("ref", "alt", "start", "end", "replicon"), 

295 name="unique_aa_mutation_null_gene", 

296 ), 

297 ), 

298 migrations.AddConstraint( 

299 model_name="aminoacidmutation", 

300 constraint=models.UniqueConstraint( 

301 condition=models.Q(("alt__isnull", True)), 

302 fields=("ref", "start", "end", "gene", "replicon"), 

303 name="unique_aa_mutation_null_alt", 

304 ), 

305 ), 

306 migrations.AddConstraint( 

307 model_name="aminoacidmutation", 

308 constraint=models.UniqueConstraint( 

309 condition=models.Q(("ref__isnull", True)), 

310 fields=("alt", "start", "end", "gene", "replicon"), 

311 name="unique_aa_mutation_null_ref", 

312 ), 

313 ), 

314 migrations.AddConstraint( 

315 model_name="aminoacidmutation", 

316 constraint=models.UniqueConstraint( 

317 condition=models.Q(("alt__isnull", True), ("gene__isnull", True)), 

318 fields=("ref", "start", "end", "replicon"), 

319 name="unique_aa_mutation_null_alt_null_gene", 

320 ), 

321 ), 

322 ]