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
« 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
3import django.db.models.deletion
4from django.db import migrations, models
7class Migration(migrations.Migration):
9 dependencies = [
10 ("rest_api", "0063_remove_mutation_parent_id_mutation_parent"),
11 ]
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 ]