Skip to content

Commit 50a9dd6

Browse files
Merge branch 'main' into EW-1355
2 parents 7218cf4 + 0b59dce commit 50a9dd6

File tree

7 files changed

+165
-72
lines changed

7 files changed

+165
-72
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import { Migration } from '@mikro-orm/migrations-mongodb';
2+
3+
export class Migration20260217135451 extends Migration {
4+
public async up(): Promise<void> {
5+
const fieldsToUpdate = [
6+
['courses', 'userIds'],
7+
['courses', 'teacherIds'],
8+
['courses', 'substitutionIds'],
9+
['courses', 'classIds'],
10+
['courses', 'groupIds'],
11+
['coursegroups', 'userIds'],
12+
['dashboardelement', 'referenceIds'],
13+
['board', 'referenceIds'],
14+
['lessons', 'materialIds'],
15+
['roles', 'roles'],
16+
['schools', 'systems'],
17+
['submissions', 'teamMembers'],
18+
['homeworks', 'archived'],
19+
['users', 'roles'],
20+
];
21+
22+
for (const [collectionName, fieldName] of fieldsToUpdate) {
23+
await this.addDefaultEmptyArray(collectionName, fieldName);
24+
}
25+
}
26+
27+
public async down(): Promise<void> {
28+
// no possibility to revert
29+
}
30+
31+
private async addDefaultEmptyArray(collectionName: string, fieldName: string): Promise<void> {
32+
const result = await this.getCollection(collectionName).updateMany(
33+
{ $or: [{ [fieldName]: { $exists: false } }, { [fieldName]: null }] },
34+
{ $set: { [fieldName]: [] } }
35+
);
36+
37+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
38+
console.info(
39+
`Added ${result.modifiedCount} of ${result.matchedCount} default empty arrays for ${fieldName} in ${collectionName}`
40+
);
41+
}
42+
}

backup/setup/coursegroups.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
{
33
"_id": {
44
"$oid": "5fa2c589550cdec021a1c5a2"
5-
}
5+
},
6+
"userIds": []
67
}
78
]

backup/setup/courses.json

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@
3939
"untilDate": {
4040
"$date": "2054-07-31T22:00:00Z"
4141
},
42-
"__v": 0
42+
"__v": 0,
43+
"groupIds": []
4344
},
4445
{
4546
"_id": {
@@ -128,7 +129,8 @@
128129
"$oid": "59ae89b71f513506904e1cc9"
129130
}
130131
],
131-
"__v": 0
132+
"__v": 0,
133+
"groupIds": []
132134
},
133135
{
134136
"_id": {
@@ -217,7 +219,8 @@
217219
},
218220
"startDate": {
219221
"$date": "2017-08-27T22:00:00Z"
220-
}
222+
},
223+
"groupIds": []
221224
},
222225
{
223226
"_id": {
@@ -306,7 +309,8 @@
306309
"$oid": "59ae89b71f513506904e1cc9"
307310
}
308311
],
309-
"__v": 0
312+
"__v": 0,
313+
"groupIds": []
310314
},
311315
{
312316
"_id": {
@@ -385,7 +389,8 @@
385389
},
386390
"startDate": {
387391
"$date": "2017-08-27T22:00:00Z"
388-
}
392+
},
393+
"groupIds": []
389394
},
390395
{
391396
"_id": {
@@ -474,7 +479,8 @@
474479
"$oid": "59ae89b71f513506904e1cc9"
475480
}
476481
],
477-
"__v": 0
482+
"__v": 0,
483+
"groupIds": []
478484
},
479485
{
480486
"_id": {
@@ -509,7 +515,8 @@
509515
},
510516
"times": [],
511517
"__v": 0,
512-
"description": ""
518+
"description": "",
519+
"groupIds": []
513520
},
514521
{
515522
"_id": {
@@ -548,7 +555,8 @@
548555
},
549556
"times": [],
550557
"__v": 0,
551-
"description": ""
558+
"description": "",
559+
"groupIds": []
552560
},
553561
{
554562
"_id": {
@@ -583,7 +591,8 @@
583591
},
584592
"times": [],
585593
"__v": 0,
586-
"description": ""
594+
"description": "",
595+
"groupIds": []
587596
},
588597
{
589598
"_id": {
@@ -622,7 +631,8 @@
622631
},
623632
"times": [],
624633
"__v": 0,
625-
"description": ""
634+
"description": "",
635+
"groupIds": []
626636
},
627637
{
628638
"_id": {
@@ -664,7 +674,8 @@
664674
},
665675
"times": [],
666676
"__v": 0,
667-
"description": ""
677+
"description": "",
678+
"groupIds": []
668679
},
669680
{
670681
"_id": {
@@ -699,7 +710,8 @@
699710
},
700711
"times": [],
701712
"__v": 0,
702-
"description": ""
713+
"description": "",
714+
"groupIds": []
703715
},
704716
{
705717
"_id": {
@@ -765,4 +777,4 @@
765777
"times": [],
766778
"__v": 0
767779
}
768-
]
780+
]

backup/setup/dashboardelement.json

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
[{
2-
"_id": {
3-
"$oid": "616837a590c1146b50a2ac50"
4-
},
5-
"xPos": 1,
6-
"yPos": 3,
7-
"dashboard": {
8-
"$oid": "616837a590c1146b50a2ac5c"
9-
}
10-
}]
1+
[
2+
{
3+
"_id": {
4+
"$oid": "616837a590c1146b50a2ac50"
5+
},
6+
"xPos": 1,
7+
"yPos": 3,
8+
"dashboard": {
9+
"$oid": "616837a590c1146b50a2ac5c"
10+
},
11+
"referenceIds": []
12+
}
13+
]

backup/setup/homeworks.json

Lines changed: 35 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@
3131
},
3232
"__v": 0,
3333
"publicSubmissions": false,
34-
"private": false
34+
"private": false,
35+
"archived": []
3536
},
3637
{
3738
"_id": {
@@ -65,7 +66,8 @@
6566
"$date": "2017-08-28T12:02:45.639Z"
6667
},
6768
"__v": 0,
68-
"private": false
69+
"private": false,
70+
"archived": []
6971
},
7072
{
7173
"_id": {
@@ -99,7 +101,8 @@
99101
"$date": "2017-08-28T12:03:47.302Z"
100102
},
101103
"__v": 0,
102-
"publicSubmissions": false
104+
"publicSubmissions": false,
105+
"archived": []
103106
},
104107
{
105108
"_id": {
@@ -133,7 +136,8 @@
133136
},
134137
"__v": 0,
135138
"publicSubmissions": false,
136-
"private": false
139+
"private": false,
140+
"archived": []
137141
},
138142
{
139143
"_id": {
@@ -167,7 +171,8 @@
167171
},
168172
"__v": 0,
169173
"publicSubmissions": false,
170-
"private": false
174+
"private": false,
175+
"archived": []
171176
},
172177
{
173178
"_id": {
@@ -201,7 +206,8 @@
201206
},
202207
"__v": 0,
203208
"publicSubmissions": false,
204-
"private": false
209+
"private": false,
210+
"archived": []
205211
},
206212
{
207213
"_id": {
@@ -235,7 +241,8 @@
235241
},
236242
"__v": 0,
237243
"publicSubmissions": false,
238-
"private": false
244+
"private": false,
245+
"archived": []
239246
},
240247
{
241248
"_id": {
@@ -269,7 +276,8 @@
269276
},
270277
"__v": 0,
271278
"publicSubmissions": false,
272-
"private": false
279+
"private": false,
280+
"archived": []
273281
},
274282
{
275283
"_id": {
@@ -301,7 +309,8 @@
301309
"createdAt": {
302310
"$date": "2017-09-05T09:34:31.875Z"
303311
},
304-
"__v": 0
312+
"__v": 0,
313+
"archived": []
305314
},
306315
{
307316
"_id": {
@@ -334,7 +343,8 @@
334343
"createdAt": {
335344
"$date": "2017-09-05T09:34:56.418Z"
336345
},
337-
"__v": 0
346+
"__v": 0,
347+
"archived": []
338348
},
339349
{
340350
"_id": {
@@ -368,7 +378,8 @@
368378
},
369379
"__v": 0,
370380
"publicSubmissions": false,
371-
"private": false
381+
"private": false,
382+
"archived": []
372383
},
373384
{
374385
"_id": {
@@ -402,7 +413,8 @@
402413
"$date": "2017-09-05T09:40:44.117Z"
403414
},
404415
"__v": 0,
405-
"publicSubmissions": false
416+
"publicSubmissions": false,
417+
"archived": []
406418
},
407419
{
408420
"_id": {
@@ -436,7 +448,8 @@
436448
},
437449
"__v": 0,
438450
"publicSubmissions": false,
439-
"private": false
451+
"private": false,
452+
"archived": []
440453
},
441454
{
442455
"_id": {
@@ -470,7 +483,8 @@
470483
"$date": "2017-09-06T11:34:51.710Z"
471484
},
472485
"__v": 0,
473-
"publicSubmissions": false
486+
"publicSubmissions": false,
487+
"archived": []
474488
},
475489
{
476490
"_id": {
@@ -504,7 +518,8 @@
504518
},
505519
"__v": 0,
506520
"publicSubmissions": false,
507-
"private": false
521+
"private": false,
522+
"archived": []
508523
},
509524
{
510525
"_id": {
@@ -538,7 +553,8 @@
538553
},
539554
"__v": 0,
540555
"publicSubmissions": false,
541-
"private": false
556+
"private": false,
557+
"archived": []
542558
},
543559
{
544560
"_id": {
@@ -568,7 +584,8 @@
568584
"createdAt": {
569585
"$date": "2017-09-22T09:41:00.385Z"
570586
},
571-
"__v": 0
587+
"__v": 0,
588+
"archived": []
572589
},
573590
{
574591
"_id": {
@@ -1637,4 +1654,4 @@
16371654
},
16381655
"__v": 0
16391656
}
1640-
]
1657+
]

0 commit comments

Comments
 (0)