Skip to content

Commit f3b03e4

Browse files
committed
Split add field and deprecate field migrations
1 parent b79c08c commit f3b03e4

2 files changed

Lines changed: 148 additions & 133 deletions

File tree

app/grandchallenge/challenges/migrations/0058_challengerequest_algorithm_maximum_settable_memory_gb_for_tasks_and_more.py

Lines changed: 1 addition & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
# Generated by Django 4.2.24 on 2025-09-16 14:15
1+
# Generated by Django 4.2.24 on 2025-10-22 15:54
22

3-
import django.core.validators
43
from django.db import migrations, models
54

6-
import grandchallenge.components.schemas
75
import grandchallenge.core.validators
86

97

@@ -182,134 +180,4 @@ class Migration(migrations.Migration):
182180
],
183181
),
184182
),
185-
migrations.AlterField(
186-
model_name="challengerequest",
187-
name="algorithm_maximum_settable_memory_gb",
188-
field=models.PositiveSmallIntegerField(
189-
default=32,
190-
help_text="Maximum amount of main memory (DRAM) that participants will be allowed to assign to algorithm inference jobs for submission.",
191-
null=True,
192-
),
193-
),
194-
migrations.AlterField(
195-
model_name="challengerequest",
196-
name="algorithm_selectable_gpu_type_choices",
197-
field=models.JSONField(
198-
default=grandchallenge.components.schemas.get_default_gpu_type_choices,
199-
help_text='The GPU type choices that participants will be able to select for their algorithm inference jobs. Options are ["", "A100", "A10G", "V100", "K80", "T4"].',
200-
null=True,
201-
validators=[
202-
grandchallenge.core.validators.JSONValidator(
203-
schema={
204-
"$schema": "http://json-schema.org/draft-07/schema",
205-
"items": {
206-
"enum": [
207-
"",
208-
"A100",
209-
"A10G",
210-
"V100",
211-
"K80",
212-
"T4",
213-
],
214-
"type": "string",
215-
},
216-
"title": "The Selectable GPU Types Schema",
217-
"type": "array",
218-
"uniqueItems": True,
219-
}
220-
)
221-
],
222-
),
223-
),
224-
migrations.AlterField(
225-
model_name="challengerequest",
226-
name="average_number_of_containers_per_team",
227-
field=models.PositiveIntegerField(
228-
default=5,
229-
help_text="Average number of algorithm containers per team.",
230-
null=True,
231-
validators=[
232-
django.core.validators.MinValueValidator(limit_value=1)
233-
],
234-
),
235-
),
236-
migrations.AlterField(
237-
model_name="challengerequest",
238-
name="average_size_of_test_image_in_mb",
239-
field=models.PositiveIntegerField(
240-
help_text="Average size of a test image in MB.",
241-
null=True,
242-
validators=[
243-
django.core.validators.MinValueValidator(limit_value=1),
244-
django.core.validators.MaxValueValidator(
245-
limit_value=10000
246-
),
247-
],
248-
),
249-
),
250-
migrations.AlterField(
251-
model_name="challengerequest",
252-
name="expected_number_of_teams",
253-
field=models.PositiveIntegerField(
254-
help_text="How many teams do you expect to participate in your challenge?",
255-
null=True,
256-
validators=[
257-
django.core.validators.MinValueValidator(limit_value=1)
258-
],
259-
),
260-
),
261-
migrations.AlterField(
262-
model_name="challengerequest",
263-
name="inference_time_limit_in_minutes",
264-
field=models.PositiveIntegerField(
265-
help_text="Average run time per algorithm job in minutes.",
266-
null=True,
267-
validators=[
268-
django.core.validators.MinValueValidator(limit_value=5),
269-
django.core.validators.MaxValueValidator(limit_value=60),
270-
],
271-
),
272-
),
273-
migrations.AlterField(
274-
model_name="challengerequest",
275-
name="number_of_tasks",
276-
field=models.PositiveIntegerField(
277-
default=1,
278-
help_text="If your challenge has multiple tasks, we multiply the phase 1 and 2 cost estimates by the number of tasks.",
279-
null=True,
280-
validators=[
281-
django.core.validators.MinValueValidator(limit_value=1)
282-
],
283-
),
284-
),
285-
migrations.AlterField(
286-
model_name="challengerequest",
287-
name="phase_1_number_of_submissions_per_team",
288-
field=models.PositiveIntegerField(
289-
help_text="How many submissions do you expect per team in this phase?",
290-
null=True,
291-
),
292-
),
293-
migrations.AlterField(
294-
model_name="challengerequest",
295-
name="phase_1_number_of_test_images",
296-
field=models.PositiveIntegerField(
297-
help_text="Number of test images for this phase.", null=True
298-
),
299-
),
300-
migrations.AlterField(
301-
model_name="challengerequest",
302-
name="phase_2_number_of_submissions_per_team",
303-
field=models.PositiveIntegerField(
304-
help_text="How many submissions do you expect per team in this phase?",
305-
null=True,
306-
),
307-
),
308-
migrations.AlterField(
309-
model_name="challengerequest",
310-
name="phase_2_number_of_test_images",
311-
field=models.PositiveIntegerField(
312-
help_text="Number of test images for this phase.", null=True
313-
),
314-
),
315183
]
Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
# Generated by Django 4.2.24 on 2025-10-22 15:56
2+
3+
import django.core.validators
4+
from django.db import migrations, models
5+
6+
import grandchallenge.components.schemas
7+
import grandchallenge.core.validators
8+
9+
10+
class Migration(migrations.Migration):
11+
12+
dependencies = [
13+
("challenges", "0059_auto_20250820_1420"),
14+
]
15+
16+
operations = [
17+
migrations.AlterField(
18+
model_name="challengerequest",
19+
name="algorithm_maximum_settable_memory_gb",
20+
field=models.PositiveSmallIntegerField(
21+
default=32,
22+
help_text="Maximum amount of main memory (DRAM) that participants will be allowed to assign to algorithm inference jobs for submission.",
23+
null=True,
24+
),
25+
),
26+
migrations.AlterField(
27+
model_name="challengerequest",
28+
name="algorithm_selectable_gpu_type_choices",
29+
field=models.JSONField(
30+
default=grandchallenge.components.schemas.get_default_gpu_type_choices,
31+
help_text='The GPU type choices that participants will be able to select for their algorithm inference jobs. Options are ["", "A100", "A10G", "V100", "K80", "T4"].',
32+
null=True,
33+
validators=[
34+
grandchallenge.core.validators.JSONValidator(
35+
schema={
36+
"$schema": "http://json-schema.org/draft-07/schema",
37+
"items": {
38+
"enum": [
39+
"",
40+
"A100",
41+
"A10G",
42+
"V100",
43+
"K80",
44+
"T4",
45+
],
46+
"type": "string",
47+
},
48+
"title": "The Selectable GPU Types Schema",
49+
"type": "array",
50+
"uniqueItems": True,
51+
}
52+
)
53+
],
54+
),
55+
),
56+
migrations.AlterField(
57+
model_name="challengerequest",
58+
name="average_number_of_containers_per_team",
59+
field=models.PositiveIntegerField(
60+
default=5,
61+
help_text="Average number of algorithm containers per team.",
62+
null=True,
63+
validators=[
64+
django.core.validators.MinValueValidator(limit_value=1)
65+
],
66+
),
67+
),
68+
migrations.AlterField(
69+
model_name="challengerequest",
70+
name="average_size_of_test_image_in_mb",
71+
field=models.PositiveIntegerField(
72+
help_text="Average size of a test image in MB.",
73+
null=True,
74+
validators=[
75+
django.core.validators.MinValueValidator(limit_value=1),
76+
django.core.validators.MaxValueValidator(
77+
limit_value=10000
78+
),
79+
],
80+
),
81+
),
82+
migrations.AlterField(
83+
model_name="challengerequest",
84+
name="expected_number_of_teams",
85+
field=models.PositiveIntegerField(
86+
help_text="How many teams do you expect to participate in your challenge?",
87+
null=True,
88+
validators=[
89+
django.core.validators.MinValueValidator(limit_value=1)
90+
],
91+
),
92+
),
93+
migrations.AlterField(
94+
model_name="challengerequest",
95+
name="inference_time_limit_in_minutes",
96+
field=models.PositiveIntegerField(
97+
help_text="Average run time per algorithm job in minutes.",
98+
null=True,
99+
validators=[
100+
django.core.validators.MinValueValidator(limit_value=5),
101+
django.core.validators.MaxValueValidator(limit_value=60),
102+
],
103+
),
104+
),
105+
migrations.AlterField(
106+
model_name="challengerequest",
107+
name="number_of_tasks",
108+
field=models.PositiveIntegerField(
109+
default=1,
110+
help_text="If your challenge has multiple tasks, we multiply the phase 1 and 2 cost estimates by the number of tasks.",
111+
null=True,
112+
validators=[
113+
django.core.validators.MinValueValidator(limit_value=1)
114+
],
115+
),
116+
),
117+
migrations.AlterField(
118+
model_name="challengerequest",
119+
name="phase_1_number_of_submissions_per_team",
120+
field=models.PositiveIntegerField(
121+
help_text="How many submissions do you expect per team in this phase?",
122+
null=True,
123+
),
124+
),
125+
migrations.AlterField(
126+
model_name="challengerequest",
127+
name="phase_1_number_of_test_images",
128+
field=models.PositiveIntegerField(
129+
help_text="Number of test images for this phase.", null=True
130+
),
131+
),
132+
migrations.AlterField(
133+
model_name="challengerequest",
134+
name="phase_2_number_of_submissions_per_team",
135+
field=models.PositiveIntegerField(
136+
help_text="How many submissions do you expect per team in this phase?",
137+
null=True,
138+
),
139+
),
140+
migrations.AlterField(
141+
model_name="challengerequest",
142+
name="phase_2_number_of_test_images",
143+
field=models.PositiveIntegerField(
144+
help_text="Number of test images for this phase.", null=True
145+
),
146+
),
147+
]

0 commit comments

Comments
 (0)