Skip to content

Commit c3904ed

Browse files
committed
Condense to one database migration
1 parent e809599 commit c3904ed

32 files changed

Lines changed: 270 additions & 1087 deletions

File tree

sasdata/fair_database/data/migrations/0001_initial.py

Lines changed: 270 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
# Generated by Django 5.1.5 on 2025-01-23 18:41
1+
# Generated by Django 5.1.6 on 2025-04-23 18:08
22

3+
import data.models
34
import django.core.files.storage
45
import django.db.models.deletion
56
from django.conf import settings
@@ -15,7 +16,7 @@ class Migration(migrations.Migration):
1516

1617
operations = [
1718
migrations.CreateModel(
18-
name="Data",
19+
name="DataFile",
1920
fields=[
2021
(
2122
"id",
@@ -26,6 +27,12 @@ class Migration(migrations.Migration):
2627
verbose_name="ID",
2728
),
2829
),
30+
(
31+
"is_public",
32+
models.BooleanField(
33+
default=False, help_text="opt in to make your data public"
34+
),
35+
),
2936
(
3037
"file_name",
3138
models.CharField(
@@ -45,22 +52,281 @@ class Migration(migrations.Migration):
4552
upload_to="uploaded_files",
4653
),
4754
),
55+
(
56+
"current_user",
57+
models.ForeignKey(
58+
blank=True,
59+
null=True,
60+
on_delete=django.db.models.deletion.CASCADE,
61+
related_name="+",
62+
to=settings.AUTH_USER_MODEL,
63+
),
64+
),
65+
(
66+
"users",
67+
models.ManyToManyField(
68+
blank=True, related_name="+", to=settings.AUTH_USER_MODEL
69+
),
70+
),
71+
],
72+
options={
73+
"abstract": False,
74+
},
75+
),
76+
migrations.CreateModel(
77+
name="DataSet",
78+
fields=[
79+
(
80+
"id",
81+
models.BigAutoField(
82+
auto_created=True,
83+
primary_key=True,
84+
serialize=False,
85+
verbose_name="ID",
86+
),
87+
),
88+
(
89+
"is_public",
90+
models.BooleanField(
91+
default=False, help_text="opt in to make your data public"
92+
),
93+
),
94+
("name", models.CharField(max_length=200)),
95+
(
96+
"current_user",
97+
models.ForeignKey(
98+
blank=True,
99+
null=True,
100+
on_delete=django.db.models.deletion.CASCADE,
101+
related_name="+",
102+
to=settings.AUTH_USER_MODEL,
103+
),
104+
),
105+
("files", models.ManyToManyField(to="data.datafile")),
106+
(
107+
"users",
108+
models.ManyToManyField(
109+
blank=True, related_name="+", to=settings.AUTH_USER_MODEL
110+
),
111+
),
112+
],
113+
options={
114+
"abstract": False,
115+
},
116+
),
117+
migrations.CreateModel(
118+
name="MetaData",
119+
fields=[
120+
(
121+
"id",
122+
models.BigAutoField(
123+
auto_created=True,
124+
primary_key=True,
125+
serialize=False,
126+
verbose_name="ID",
127+
),
128+
),
129+
("title", models.CharField(default="Title", max_length=500)),
130+
("run", models.JSONField(default=data.models.empty_list)),
131+
("definition", models.TextField(blank=True, null=True)),
132+
("instrument", models.JSONField(blank=True, null=True)),
133+
("process", models.JSONField(default=data.models.empty_list)),
134+
("sample", models.JSONField(blank=True, null=True)),
135+
(
136+
"dataset",
137+
models.OneToOneField(
138+
on_delete=django.db.models.deletion.CASCADE,
139+
related_name="metadata",
140+
to="data.dataset",
141+
),
142+
),
143+
],
144+
),
145+
migrations.CreateModel(
146+
name="Quantity",
147+
fields=[
148+
(
149+
"id",
150+
models.BigAutoField(
151+
auto_created=True,
152+
primary_key=True,
153+
serialize=False,
154+
verbose_name="ID",
155+
),
156+
),
157+
("value", models.JSONField()),
158+
("variance", models.JSONField()),
159+
("units", models.CharField(max_length=200)),
160+
("hash", models.IntegerField()),
161+
("label", models.CharField(max_length=50)),
162+
(
163+
"dataset",
164+
models.ForeignKey(
165+
on_delete=django.db.models.deletion.CASCADE,
166+
related_name="data_contents",
167+
to="data.dataset",
168+
),
169+
),
170+
],
171+
),
172+
migrations.CreateModel(
173+
name="OperationTree",
174+
fields=[
175+
(
176+
"id",
177+
models.BigAutoField(
178+
auto_created=True,
179+
primary_key=True,
180+
serialize=False,
181+
verbose_name="ID",
182+
),
183+
),
184+
(
185+
"operation",
186+
models.CharField(
187+
choices=[
188+
("zero", "0 [Add.Id.]"),
189+
("one", "1 [Mul.Id.]"),
190+
("constant", "Constant"),
191+
("variable", "Variable"),
192+
("neg", "Neg"),
193+
("reciprocal", "Inv"),
194+
("add", "Add"),
195+
("sub", "Sub"),
196+
("mul", "Mul"),
197+
("div", "Div"),
198+
("pow", "Pow"),
199+
("transpose", "Transpose"),
200+
("dot", "Dot"),
201+
("matmul", "MatMul"),
202+
("tensor_product", "TensorProduct"),
203+
],
204+
max_length=20,
205+
),
206+
),
207+
("parameters", models.JSONField(default=data.models.empty_dict)),
208+
("label", models.CharField(blank=True, max_length=10, null=True)),
209+
(
210+
"child_operation",
211+
models.ForeignKey(
212+
blank=True,
213+
null=True,
214+
on_delete=django.db.models.deletion.CASCADE,
215+
related_name="parent_operations",
216+
to="data.operationtree",
217+
),
218+
),
219+
(
220+
"quantity",
221+
models.OneToOneField(
222+
blank=True,
223+
null=True,
224+
on_delete=django.db.models.deletion.CASCADE,
225+
related_name="operation_tree",
226+
to="data.quantity",
227+
),
228+
),
229+
],
230+
),
231+
migrations.CreateModel(
232+
name="ReferenceQuantity",
233+
fields=[
234+
(
235+
"id",
236+
models.BigAutoField(
237+
auto_created=True,
238+
primary_key=True,
239+
serialize=False,
240+
verbose_name="ID",
241+
),
242+
),
243+
("value", models.JSONField()),
244+
("variance", models.JSONField()),
245+
("units", models.CharField(max_length=200)),
246+
("hash", models.IntegerField()),
247+
(
248+
"derived_quantity",
249+
models.ForeignKey(
250+
on_delete=django.db.models.deletion.CASCADE,
251+
related_name="references",
252+
to="data.quantity",
253+
),
254+
),
255+
],
256+
),
257+
migrations.CreateModel(
258+
name="Session",
259+
fields=[
260+
(
261+
"id",
262+
models.BigAutoField(
263+
auto_created=True,
264+
primary_key=True,
265+
serialize=False,
266+
verbose_name="ID",
267+
),
268+
),
48269
(
49270
"is_public",
50271
models.BooleanField(
51-
default=False,
52-
help_text="opt in to submit your data into example pool",
272+
default=False, help_text="opt in to make your data public"
53273
),
54274
),
275+
("title", models.CharField(max_length=200)),
55276
(
56277
"current_user",
57278
models.ForeignKey(
58279
blank=True,
59280
null=True,
60281
on_delete=django.db.models.deletion.CASCADE,
282+
related_name="+",
61283
to=settings.AUTH_USER_MODEL,
62284
),
63285
),
286+
(
287+
"users",
288+
models.ManyToManyField(
289+
blank=True, related_name="+", to=settings.AUTH_USER_MODEL
290+
),
291+
),
292+
],
293+
options={
294+
"abstract": False,
295+
},
296+
),
297+
migrations.CreateModel(
298+
name="PublishedState",
299+
fields=[
300+
(
301+
"id",
302+
models.BigAutoField(
303+
auto_created=True,
304+
primary_key=True,
305+
serialize=False,
306+
verbose_name="ID",
307+
),
308+
),
309+
("published", models.BooleanField(default=False)),
310+
("doi", models.URLField()),
311+
(
312+
"session",
313+
models.OneToOneField(
314+
on_delete=django.db.models.deletion.CASCADE,
315+
related_name="published_state",
316+
to="data.session",
317+
),
318+
),
64319
],
65320
),
321+
migrations.AddField(
322+
model_name="dataset",
323+
name="session",
324+
field=models.ForeignKey(
325+
blank=True,
326+
null=True,
327+
on_delete=django.db.models.deletion.CASCADE,
328+
related_name="datasets",
329+
to="data.session",
330+
),
331+
),
66332
]

sasdata/fair_database/data/migrations/0002_rename_data_datafile.py

Lines changed: 0 additions & 18 deletions
This file was deleted.

sasdata/fair_database/data/migrations/0003_alter_datafile_is_public.py

Lines changed: 0 additions & 19 deletions
This file was deleted.

0 commit comments

Comments
 (0)