tgstation-server 6.12.0
The /tg/station 13 server suite
Loading...
Searching...
No Matches
20240202202051_MYAddMinidumpsOption.Designer.cs
Go to the documentation of this file.
1// <auto-generated />
2using System;
3
4using Microsoft.EntityFrameworkCore;
5using Microsoft.EntityFrameworkCore.Infrastructure;
6using Microsoft.EntityFrameworkCore.Migrations;
7
9{
10 [DbContext(typeof(MySqlDatabaseContext))]
11 [Migration("20240202202051_MYAddMinidumpsOption")]
12 partial class MYAddMinidumpsOption
13 {
15 protected override void BuildTargetModel(ModelBuilder modelBuilder)
16 {
17#pragma warning disable 612, 618
18 modelBuilder
19 .HasAnnotation("ProductVersion", "8.0.1")
20 .HasAnnotation("Relational:MaxIdentifierLength", 64);
21
22 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
23 {
24 b.Property<long?>("Id")
25 .ValueGeneratedOnAdd()
26 .HasColumnType("bigint");
27
28 b.Property<ushort?>("ChannelLimit")
29 .IsRequired()
30 .HasColumnType("smallint unsigned");
31
32 b.Property<string>("ConnectionString")
33 .IsRequired()
34 .HasMaxLength(10000)
35 .HasColumnType("longtext");
36
37 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("ConnectionString"), "utf8mb4");
38
39 b.Property<bool?>("Enabled")
40 .HasColumnType("tinyint(1)");
41
42 b.Property<long>("InstanceId")
43 .HasColumnType("bigint");
44
45 b.Property<string>("Name")
46 .IsRequired()
47 .HasMaxLength(100)
48 .HasColumnType("varchar(100)");
49
50 b.Property<int>("Provider")
51 .HasColumnType("int");
52
53 b.Property<uint?>("ReconnectionInterval")
54 .IsRequired()
55 .HasColumnType("int unsigned");
56
57 b.HasKey("Id");
58
59 b.HasIndex("InstanceId", "Name")
60 .IsUnique();
61
62 b.ToTable("ChatBots");
63 });
64
65 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
66 {
67 b.Property<long>("Id")
68 .ValueGeneratedOnAdd()
69 .HasColumnType("bigint");
70
71 b.Property<long>("ChatSettingsId")
72 .HasColumnType("bigint");
73
74 b.Property<ulong?>("DiscordChannelId")
75 .HasColumnType("bigint unsigned");
76
77 b.Property<string>("IrcChannel")
78 .HasMaxLength(100)
79 .HasColumnType("varchar(100)");
80
81 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("IrcChannel"), "utf8mb4");
82
83 b.Property<bool?>("IsAdminChannel")
84 .IsRequired()
85 .HasColumnType("tinyint(1)");
86
87 b.Property<bool?>("IsSystemChannel")
88 .IsRequired()
89 .HasColumnType("tinyint(1)");
90
91 b.Property<bool?>("IsUpdatesChannel")
92 .IsRequired()
93 .HasColumnType("tinyint(1)");
94
95 b.Property<bool?>("IsWatchdogChannel")
96 .IsRequired()
97 .HasColumnType("tinyint(1)");
98
99 b.Property<string>("Tag")
100 .HasMaxLength(10000)
101 .HasColumnType("longtext");
102
103 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Tag"), "utf8mb4");
104
105 b.HasKey("Id");
106
107 b.HasIndex("ChatSettingsId", "DiscordChannelId")
108 .IsUnique();
109
110 b.HasIndex("ChatSettingsId", "IrcChannel")
111 .IsUnique();
112
113 b.ToTable("ChatChannels");
114 });
115
116 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
117 {
118 b.Property<long?>("Id")
119 .ValueGeneratedOnAdd()
120 .HasColumnType("bigint");
121
122 b.Property<int?>("DMApiMajorVersion")
123 .HasColumnType("int");
124
125 b.Property<int?>("DMApiMinorVersion")
126 .HasColumnType("int");
127
128 b.Property<int?>("DMApiPatchVersion")
129 .HasColumnType("int");
130
131 b.Property<Guid?>("DirectoryName")
132 .IsRequired()
133 .HasColumnType("char(36)");
134
135 b.Property<string>("DmeName")
136 .IsRequired()
137 .HasColumnType("longtext");
138
139 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("DmeName"), "utf8mb4");
140
141 b.Property<string>("EngineVersion")
142 .IsRequired()
143 .HasColumnType("longtext");
144
145 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("EngineVersion"), "utf8mb4");
146
147 b.Property<int?>("GitHubDeploymentId")
148 .HasColumnType("int");
149
150 b.Property<long?>("GitHubRepoId")
151 .HasColumnType("bigint");
152
153 b.Property<long>("JobId")
154 .HasColumnType("bigint");
155
156 b.Property<int?>("MinimumSecurityLevel")
157 .HasColumnType("int");
158
159 b.Property<string>("Output")
160 .IsRequired()
161 .HasColumnType("longtext");
162
163 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Output"), "utf8mb4");
164
165 b.Property<string>("RepositoryOrigin")
166 .HasColumnType("longtext");
167
168 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("RepositoryOrigin"), "utf8mb4");
169
170 b.Property<long>("RevisionInformationId")
171 .HasColumnType("bigint");
172
173 b.HasKey("Id");
174
175 b.HasIndex("DirectoryName");
176
177 b.HasIndex("JobId")
178 .IsUnique();
179
180 b.HasIndex("RevisionInformationId");
181
182 b.ToTable("CompileJobs");
183 });
184
185 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
186 {
187 b.Property<long>("Id")
188 .ValueGeneratedOnAdd()
189 .HasColumnType("bigint");
190
191 b.Property<string>("AdditionalParameters")
192 .IsRequired()
193 .HasMaxLength(10000)
194 .HasColumnType("longtext");
195
196 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("AdditionalParameters"), "utf8mb4");
197
198 b.Property<bool?>("AllowWebClient")
199 .IsRequired()
200 .HasColumnType("tinyint(1)");
201
202 b.Property<bool?>("AutoStart")
203 .IsRequired()
204 .HasColumnType("tinyint(1)");
205
206 b.Property<bool?>("DumpOnHealthCheckRestart")
207 .IsRequired()
208 .HasColumnType("tinyint(1)");
209
210 b.Property<uint?>("HealthCheckSeconds")
211 .IsRequired()
212 .HasColumnType("int unsigned");
213
214 b.Property<long>("InstanceId")
215 .HasColumnType("bigint");
216
217 b.Property<bool?>("LogOutput")
218 .IsRequired()
219 .HasColumnType("tinyint(1)");
220
221 b.Property<uint?>("MapThreads")
222 .IsRequired()
223 .HasColumnType("int unsigned");
224
225 b.Property<bool?>("Minidumps")
226 .IsRequired()
227 .HasColumnType("tinyint(1)");
228
229 b.Property<ushort?>("Port")
230 .IsRequired()
231 .HasColumnType("smallint unsigned");
232
233 b.Property<int>("SecurityLevel")
234 .HasColumnType("int");
235
236 b.Property<bool?>("StartProfiler")
237 .IsRequired()
238 .HasColumnType("tinyint(1)");
239
240 b.Property<uint?>("StartupTimeout")
241 .IsRequired()
242 .HasColumnType("int unsigned");
243
244 b.Property<uint?>("TopicRequestTimeout")
245 .IsRequired()
246 .HasColumnType("int unsigned");
247
248 b.Property<int>("Visibility")
249 .HasColumnType("int");
250
251 b.HasKey("Id");
252
253 b.HasIndex("InstanceId")
254 .IsUnique();
255
256 b.ToTable("DreamDaemonSettings");
257 });
258
259 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
260 {
261 b.Property<long>("Id")
262 .ValueGeneratedOnAdd()
263 .HasColumnType("bigint");
264
265 b.Property<ushort?>("ApiValidationPort")
266 .IsRequired()
267 .HasColumnType("smallint unsigned");
268
269 b.Property<int>("ApiValidationSecurityLevel")
270 .HasColumnType("int");
271
272 b.Property<long>("InstanceId")
273 .HasColumnType("bigint");
274
275 b.Property<string>("ProjectName")
276 .HasMaxLength(10000)
277 .HasColumnType("longtext");
278
279 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("ProjectName"), "utf8mb4");
280
281 b.Property<bool?>("RequireDMApiValidation")
282 .IsRequired()
283 .HasColumnType("tinyint(1)");
284
285 b.Property<TimeSpan?>("Timeout")
286 .IsRequired()
287 .HasColumnType("time(6)");
288
289 b.HasKey("Id");
290
291 b.HasIndex("InstanceId")
292 .IsUnique();
293
294 b.ToTable("DreamMakerSettings");
295 });
296
297 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
298 {
299 b.Property<long?>("Id")
300 .ValueGeneratedOnAdd()
301 .HasColumnType("bigint");
302
303 b.Property<uint?>("AutoUpdateInterval")
304 .IsRequired()
305 .HasColumnType("int unsigned");
306
307 b.Property<ushort?>("ChatBotLimit")
308 .IsRequired()
309 .HasColumnType("smallint unsigned");
310
311 b.Property<int>("ConfigurationType")
312 .HasColumnType("int");
313
314 b.Property<string>("Name")
315 .IsRequired()
316 .HasMaxLength(100)
317 .HasColumnType("varchar(100)");
318
319 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Name"), "utf8mb4");
320
321 b.Property<bool?>("Online")
322 .IsRequired()
323 .HasColumnType("tinyint(1)");
324
325 b.Property<string>("Path")
326 .IsRequired()
327 .HasColumnType("varchar(255)");
328
329 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Path"), "utf8mb4");
330
331 b.Property<string>("SwarmIdentifer")
332 .HasColumnType("varchar(255)");
333
334 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("SwarmIdentifer"), "utf8mb4");
335
336 b.HasKey("Id");
337
338 b.HasIndex("Path", "SwarmIdentifer")
339 .IsUnique();
340
341 b.ToTable("Instances");
342 });
343
344 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
345 {
346 b.Property<long>("Id")
347 .ValueGeneratedOnAdd()
348 .HasColumnType("bigint");
349
350 b.Property<ulong>("ChatBotRights")
351 .HasColumnType("bigint unsigned");
352
353 b.Property<ulong>("ConfigurationRights")
354 .HasColumnType("bigint unsigned");
355
356 b.Property<ulong>("DreamDaemonRights")
357 .HasColumnType("bigint unsigned");
358
359 b.Property<ulong>("DreamMakerRights")
360 .HasColumnType("bigint unsigned");
361
362 b.Property<ulong>("EngineRights")
363 .HasColumnType("bigint unsigned");
364
365 b.Property<long>("InstanceId")
366 .HasColumnType("bigint");
367
368 b.Property<ulong>("InstancePermissionSetRights")
369 .HasColumnType("bigint unsigned");
370
371 b.Property<long>("PermissionSetId")
372 .HasColumnType("bigint");
373
374 b.Property<ulong>("RepositoryRights")
375 .HasColumnType("bigint unsigned");
376
377 b.HasKey("Id");
378
379 b.HasIndex("InstanceId");
380
381 b.HasIndex("PermissionSetId", "InstanceId")
382 .IsUnique();
383
384 b.ToTable("InstancePermissionSets");
385 });
386
387 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
388 {
389 b.Property<long?>("Id")
390 .ValueGeneratedOnAdd()
391 .HasColumnType("bigint");
392
393 b.Property<ulong?>("CancelRight")
394 .HasColumnType("bigint unsigned");
395
396 b.Property<ulong?>("CancelRightsType")
397 .HasColumnType("bigint unsigned");
398
399 b.Property<bool?>("Cancelled")
400 .IsRequired()
401 .HasColumnType("tinyint(1)");
402
403 b.Property<long?>("CancelledById")
404 .HasColumnType("bigint");
405
406 b.Property<string>("Description")
407 .IsRequired()
408 .HasColumnType("longtext");
409
410 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Description"), "utf8mb4");
411
412 b.Property<uint?>("ErrorCode")
413 .HasColumnType("int unsigned");
414
415 b.Property<string>("ExceptionDetails")
416 .HasColumnType("longtext");
417
418 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("ExceptionDetails"), "utf8mb4");
419
420 b.Property<long>("InstanceId")
421 .HasColumnType("bigint");
422
423 b.Property<byte>("JobCode")
424 .HasColumnType("tinyint unsigned");
425
426 b.Property<DateTimeOffset?>("StartedAt")
427 .IsRequired()
428 .HasColumnType("datetime(6)");
429
430 b.Property<long>("StartedById")
431 .HasColumnType("bigint");
432
433 b.Property<DateTimeOffset?>("StoppedAt")
434 .HasColumnType("datetime(6)");
435
436 b.HasKey("Id");
437
438 b.HasIndex("CancelledById");
439
440 b.HasIndex("InstanceId");
441
442 b.HasIndex("StartedById");
443
444 b.ToTable("Jobs");
445 });
446
447 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
448 {
449 b.Property<long>("Id")
450 .ValueGeneratedOnAdd()
451 .HasColumnType("bigint");
452
453 b.Property<string>("ExternalUserId")
454 .IsRequired()
455 .HasMaxLength(100)
456 .HasColumnType("varchar(100)");
457
458 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("ExternalUserId"), "utf8mb4");
459
460 b.Property<int>("Provider")
461 .HasColumnType("int");
462
463 b.Property<long?>("UserId")
464 .HasColumnType("bigint");
465
466 b.HasKey("Id");
467
468 b.HasIndex("UserId");
469
470 b.HasIndex("Provider", "ExternalUserId")
471 .IsUnique();
472
473 b.ToTable("OAuthConnections");
474 });
475
476 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
477 {
478 b.Property<long?>("Id")
479 .ValueGeneratedOnAdd()
480 .HasColumnType("bigint");
481
482 b.Property<ulong>("AdministrationRights")
483 .HasColumnType("bigint unsigned");
484
485 b.Property<long?>("GroupId")
486 .HasColumnType("bigint");
487
488 b.Property<ulong>("InstanceManagerRights")
489 .HasColumnType("bigint unsigned");
490
491 b.Property<long?>("UserId")
492 .HasColumnType("bigint");
493
494 b.HasKey("Id");
495
496 b.HasIndex("GroupId")
497 .IsUnique();
498
499 b.HasIndex("UserId")
500 .IsUnique();
501
502 b.ToTable("PermissionSets");
503 });
504
505 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
506 {
507 b.Property<long?>("Id")
508 .ValueGeneratedOnAdd()
509 .HasColumnType("bigint");
510
511 b.Property<string>("AccessIdentifier")
512 .IsRequired()
513 .HasColumnType("longtext");
514
515 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("AccessIdentifier"), "utf8mb4");
516
517 b.Property<long>("CompileJobId")
518 .HasColumnType("bigint");
519
520 b.Property<long?>("InitialCompileJobId")
521 .HasColumnType("bigint");
522
523 b.Property<int>("LaunchSecurityLevel")
524 .HasColumnType("int");
525
526 b.Property<int>("LaunchVisibility")
527 .HasColumnType("int");
528
529 b.Property<ushort>("Port")
530 .HasColumnType("smallint unsigned");
531
532 b.Property<int>("ProcessId")
533 .HasColumnType("int");
534
535 b.Property<int>("RebootState")
536 .HasColumnType("int");
537
538 b.Property<ushort?>("TopicPort")
539 .HasColumnType("smallint unsigned");
540
541 b.HasKey("Id");
542
543 b.HasIndex("CompileJobId");
544
545 b.HasIndex("InitialCompileJobId");
546
547 b.ToTable("ReattachInformations");
548 });
549
550 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
551 {
552 b.Property<long>("Id")
553 .ValueGeneratedOnAdd()
554 .HasColumnType("bigint");
555
556 b.Property<string>("AccessToken")
557 .HasMaxLength(10000)
558 .HasColumnType("longtext");
559
560 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("AccessToken"), "utf8mb4");
561
562 b.Property<string>("AccessUser")
563 .HasMaxLength(10000)
564 .HasColumnType("longtext");
565
566 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("AccessUser"), "utf8mb4");
567
568 b.Property<bool?>("AutoUpdatesKeepTestMerges")
569 .IsRequired()
570 .HasColumnType("tinyint(1)");
571
572 b.Property<bool?>("AutoUpdatesSynchronize")
573 .IsRequired()
574 .HasColumnType("tinyint(1)");
575
576 b.Property<string>("CommitterEmail")
577 .IsRequired()
578 .HasMaxLength(10000)
579 .HasColumnType("longtext");
580
581 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("CommitterEmail"), "utf8mb4");
582
583 b.Property<string>("CommitterName")
584 .IsRequired()
585 .HasMaxLength(10000)
586 .HasColumnType("longtext");
587
588 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("CommitterName"), "utf8mb4");
589
590 b.Property<bool?>("CreateGitHubDeployments")
591 .IsRequired()
592 .HasColumnType("tinyint(1)");
593
594 b.Property<long>("InstanceId")
595 .HasColumnType("bigint");
596
597 b.Property<bool?>("PostTestMergeComment")
598 .IsRequired()
599 .HasColumnType("tinyint(1)");
600
601 b.Property<bool?>("PushTestMergeCommits")
602 .IsRequired()
603 .HasColumnType("tinyint(1)");
604
605 b.Property<bool?>("ShowTestMergeCommitters")
606 .IsRequired()
607 .HasColumnType("tinyint(1)");
608
609 b.Property<bool?>("UpdateSubmodules")
610 .IsRequired()
611 .HasColumnType("tinyint(1)");
612
613 b.HasKey("Id");
614
615 b.HasIndex("InstanceId")
616 .IsUnique();
617
618 b.ToTable("RepositorySettings");
619 });
620
621 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
622 {
623 b.Property<long>("Id")
624 .ValueGeneratedOnAdd()
625 .HasColumnType("bigint");
626
627 b.Property<long>("RevisionInformationId")
628 .HasColumnType("bigint");
629
630 b.Property<long>("TestMergeId")
631 .HasColumnType("bigint");
632
633 b.HasKey("Id");
634
635 b.HasIndex("RevisionInformationId");
636
637 b.HasIndex("TestMergeId");
638
639 b.ToTable("RevInfoTestMerges");
640 });
641
642 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
643 {
644 b.Property<long>("Id")
645 .ValueGeneratedOnAdd()
646 .HasColumnType("bigint");
647
648 b.Property<string>("CommitSha")
649 .IsRequired()
650 .HasMaxLength(40)
651 .HasColumnType("varchar(40)");
652
653 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("CommitSha"), "utf8mb4");
654
655 b.Property<long>("InstanceId")
656 .HasColumnType("bigint");
657
658 b.Property<string>("OriginCommitSha")
659 .IsRequired()
660 .HasMaxLength(40)
661 .HasColumnType("varchar(40)");
662
663 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("OriginCommitSha"), "utf8mb4");
664
665 b.Property<DateTimeOffset>("Timestamp")
666 .HasColumnType("datetime(6)");
667
668 b.HasKey("Id");
669
670 b.HasIndex("InstanceId", "CommitSha")
671 .IsUnique();
672
673 b.ToTable("RevisionInformations");
674 });
675
676 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
677 {
678 b.Property<long>("Id")
679 .ValueGeneratedOnAdd()
680 .HasColumnType("bigint");
681
682 b.Property<string>("Author")
683 .IsRequired()
684 .HasColumnType("longtext");
685
686 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Author"), "utf8mb4");
687
688 b.Property<string>("BodyAtMerge")
689 .IsRequired()
690 .HasColumnType("longtext");
691
692 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("BodyAtMerge"), "utf8mb4");
693
694 b.Property<string>("Comment")
695 .HasMaxLength(10000)
696 .HasColumnType("longtext");
697
698 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Comment"), "utf8mb4");
699
700 b.Property<DateTimeOffset>("MergedAt")
701 .HasColumnType("datetime(6)");
702
703 b.Property<long>("MergedById")
704 .HasColumnType("bigint");
705
706 b.Property<int>("Number")
707 .HasColumnType("int");
708
709 b.Property<long?>("PrimaryRevisionInformationId")
710 .IsRequired()
711 .HasColumnType("bigint");
712
713 b.Property<string>("TargetCommitSha")
714 .IsRequired()
715 .HasMaxLength(40)
716 .HasColumnType("varchar(40)");
717
718 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("TargetCommitSha"), "utf8mb4");
719
720 b.Property<string>("TitleAtMerge")
721 .IsRequired()
722 .HasColumnType("longtext");
723
724 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("TitleAtMerge"), "utf8mb4");
725
726 b.Property<string>("Url")
727 .IsRequired()
728 .HasColumnType("longtext");
729
730 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Url"), "utf8mb4");
731
732 b.HasKey("Id");
733
734 b.HasIndex("MergedById");
735
736 b.HasIndex("PrimaryRevisionInformationId")
737 .IsUnique();
738
739 b.ToTable("TestMerges");
740 });
741
742 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
743 {
744 b.Property<long?>("Id")
745 .ValueGeneratedOnAdd()
746 .HasColumnType("bigint");
747
748 b.Property<string>("CanonicalName")
749 .IsRequired()
750 .HasMaxLength(100)
751 .HasColumnType("varchar(100)");
752
753 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("CanonicalName"), "utf8mb4");
754
755 b.Property<DateTimeOffset?>("CreatedAt")
756 .IsRequired()
757 .HasColumnType("datetime(6)");
758
759 b.Property<long?>("CreatedById")
760 .HasColumnType("bigint");
761
762 b.Property<bool?>("Enabled")
763 .IsRequired()
764 .HasColumnType("tinyint(1)");
765
766 b.Property<long?>("GroupId")
767 .HasColumnType("bigint");
768
769 b.Property<DateTimeOffset?>("LastPasswordUpdate")
770 .HasColumnType("datetime(6)");
771
772 b.Property<string>("Name")
773 .IsRequired()
774 .HasMaxLength(100)
775 .HasColumnType("varchar(100)");
776
777 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Name"), "utf8mb4");
778
779 b.Property<string>("PasswordHash")
780 .HasColumnType("longtext");
781
782 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("PasswordHash"), "utf8mb4");
783
784 b.Property<string>("SystemIdentifier")
785 .HasMaxLength(100)
786 .HasColumnType("varchar(100)");
787
788 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("SystemIdentifier"), "utf8mb4");
789
790 b.HasKey("Id");
791
792 b.HasIndex("CanonicalName")
793 .IsUnique();
794
795 b.HasIndex("CreatedById");
796
797 b.HasIndex("GroupId");
798
799 b.HasIndex("SystemIdentifier")
800 .IsUnique();
801
802 b.ToTable("Users");
803 });
804
805 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
806 {
807 b.Property<long?>("Id")
808 .ValueGeneratedOnAdd()
809 .HasColumnType("bigint");
810
811 b.Property<string>("Name")
812 .IsRequired()
813 .HasMaxLength(100)
814 .HasColumnType("varchar(100)");
815
816 MySqlPropertyBuilderExtensions.HasCharSet(b.Property<string>("Name"), "utf8mb4");
817
818 b.HasKey("Id");
819
820 b.HasIndex("Name")
821 .IsUnique();
822
823 b.ToTable("Groups");
824 });
825
826 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
827 {
828 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
829 .WithMany("ChatSettings")
830 .HasForeignKey("InstanceId")
831 .OnDelete(DeleteBehavior.Cascade)
832 .IsRequired();
833
834 b.Navigation("Instance");
835 });
836
837 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
838 {
839 b.HasOne("Tgstation.Server.Host.Models.ChatBot", "ChatSettings")
840 .WithMany("Channels")
841 .HasForeignKey("ChatSettingsId")
842 .OnDelete(DeleteBehavior.Cascade)
843 .IsRequired();
844
845 b.Navigation("ChatSettings");
846 });
847
848 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
849 {
850 b.HasOne("Tgstation.Server.Host.Models.Job", "Job")
851 .WithOne()
852 .HasForeignKey("Tgstation.Server.Host.Models.CompileJob", "JobId")
853 .OnDelete(DeleteBehavior.Cascade)
854 .IsRequired();
855
856 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
857 .WithMany("CompileJobs")
858 .HasForeignKey("RevisionInformationId")
859 .OnDelete(DeleteBehavior.Cascade)
860 .IsRequired();
861
862 b.Navigation("Job");
863
864 b.Navigation("RevisionInformation");
865 });
866
867 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
868 {
869 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
870 .WithOne("DreamDaemonSettings")
871 .HasForeignKey("Tgstation.Server.Host.Models.DreamDaemonSettings", "InstanceId")
872 .OnDelete(DeleteBehavior.Cascade)
873 .IsRequired();
874
875 b.Navigation("Instance");
876 });
877
878 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
879 {
880 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
881 .WithOne("DreamMakerSettings")
882 .HasForeignKey("Tgstation.Server.Host.Models.DreamMakerSettings", "InstanceId")
883 .OnDelete(DeleteBehavior.Cascade)
884 .IsRequired();
885
886 b.Navigation("Instance");
887 });
888
889 modelBuilder.Entity("Tgstation.Server.Host.Models.InstancePermissionSet", b =>
890 {
891 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
892 .WithMany("InstancePermissionSets")
893 .HasForeignKey("InstanceId")
894 .OnDelete(DeleteBehavior.Cascade)
895 .IsRequired();
896
897 b.HasOne("Tgstation.Server.Host.Models.PermissionSet", "PermissionSet")
898 .WithMany("InstancePermissionSets")
899 .HasForeignKey("PermissionSetId")
900 .OnDelete(DeleteBehavior.Cascade)
901 .IsRequired();
902
903 b.Navigation("Instance");
904
905 b.Navigation("PermissionSet");
906 });
907
908 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
909 {
910 b.HasOne("Tgstation.Server.Host.Models.User", "CancelledBy")
911 .WithMany()
912 .HasForeignKey("CancelledById");
913
914 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
915 .WithMany("Jobs")
916 .HasForeignKey("InstanceId")
917 .OnDelete(DeleteBehavior.Cascade)
918 .IsRequired();
919
920 b.HasOne("Tgstation.Server.Host.Models.User", "StartedBy")
921 .WithMany()
922 .HasForeignKey("StartedById")
923 .OnDelete(DeleteBehavior.Cascade)
924 .IsRequired();
925
926 b.Navigation("CancelledBy");
927
928 b.Navigation("Instance");
929
930 b.Navigation("StartedBy");
931 });
932
933 modelBuilder.Entity("Tgstation.Server.Host.Models.OAuthConnection", b =>
934 {
935 b.HasOne("Tgstation.Server.Host.Models.User", "User")
936 .WithMany("OAuthConnections")
937 .HasForeignKey("UserId")
938 .OnDelete(DeleteBehavior.Cascade);
939
940 b.Navigation("User");
941 });
942
943 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
944 {
945 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
946 .WithOne("PermissionSet")
947 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "GroupId")
948 .OnDelete(DeleteBehavior.Cascade);
949
950 b.HasOne("Tgstation.Server.Host.Models.User", "User")
951 .WithOne("PermissionSet")
952 .HasForeignKey("Tgstation.Server.Host.Models.PermissionSet", "UserId")
953 .OnDelete(DeleteBehavior.Cascade);
954
955 b.Navigation("Group");
956
957 b.Navigation("User");
958 });
959
960 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
961 {
962 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "CompileJob")
963 .WithMany()
964 .HasForeignKey("CompileJobId")
965 .OnDelete(DeleteBehavior.Cascade)
966 .IsRequired();
967
968 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "InitialCompileJob")
969 .WithMany()
970 .HasForeignKey("InitialCompileJobId");
971
972 b.Navigation("CompileJob");
973
974 b.Navigation("InitialCompileJob");
975 });
976
977 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
978 {
979 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
980 .WithOne("RepositorySettings")
981 .HasForeignKey("Tgstation.Server.Host.Models.RepositorySettings", "InstanceId")
982 .OnDelete(DeleteBehavior.Cascade)
983 .IsRequired();
984
985 b.Navigation("Instance");
986 });
987
988 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
989 {
990 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
991 .WithMany("ActiveTestMerges")
992 .HasForeignKey("RevisionInformationId")
993 .OnDelete(DeleteBehavior.Cascade)
994 .IsRequired();
995
996 b.HasOne("Tgstation.Server.Host.Models.TestMerge", "TestMerge")
997 .WithMany("RevisonInformations")
998 .HasForeignKey("TestMergeId")
999 .OnDelete(DeleteBehavior.ClientNoAction)
1000 .IsRequired();
1001
1002 b.Navigation("RevisionInformation");
1003
1004 b.Navigation("TestMerge");
1005 });
1006
1007 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
1008 {
1009 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
1010 .WithMany("RevisionInformations")
1011 .HasForeignKey("InstanceId")
1012 .OnDelete(DeleteBehavior.Cascade)
1013 .IsRequired();
1014
1015 b.Navigation("Instance");
1016 });
1017
1018 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
1019 {
1020 b.HasOne("Tgstation.Server.Host.Models.User", "MergedBy")
1021 .WithMany("TestMerges")
1022 .HasForeignKey("MergedById")
1023 .OnDelete(DeleteBehavior.Restrict)
1024 .IsRequired();
1025
1026 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "PrimaryRevisionInformation")
1027 .WithOne("PrimaryTestMerge")
1028 .HasForeignKey("Tgstation.Server.Host.Models.TestMerge", "PrimaryRevisionInformationId")
1029 .OnDelete(DeleteBehavior.Cascade)
1030 .IsRequired();
1031
1032 b.Navigation("MergedBy");
1033
1034 b.Navigation("PrimaryRevisionInformation");
1035 });
1036
1037 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
1038 {
1039 b.HasOne("Tgstation.Server.Host.Models.User", "CreatedBy")
1040 .WithMany("CreatedUsers")
1041 .HasForeignKey("CreatedById");
1042
1043 b.HasOne("Tgstation.Server.Host.Models.UserGroup", "Group")
1044 .WithMany("Users")
1045 .HasForeignKey("GroupId");
1046
1047 b.Navigation("CreatedBy");
1048
1049 b.Navigation("Group");
1050 });
1051
1052 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
1053 {
1054 b.Navigation("Channels");
1055 });
1056
1057 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
1058 {
1059 b.Navigation("ChatSettings");
1060
1061 b.Navigation("DreamDaemonSettings");
1062
1063 b.Navigation("DreamMakerSettings");
1064
1065 b.Navigation("InstancePermissionSets");
1066
1067 b.Navigation("Jobs");
1068
1069 b.Navigation("RepositorySettings");
1070
1071 b.Navigation("RevisionInformations");
1072 });
1073
1074 modelBuilder.Entity("Tgstation.Server.Host.Models.PermissionSet", b =>
1075 {
1076 b.Navigation("InstancePermissionSets");
1077 });
1078
1079 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
1080 {
1081 b.Navigation("ActiveTestMerges");
1082
1083 b.Navigation("CompileJobs");
1084
1085 b.Navigation("PrimaryTestMerge");
1086 });
1087
1088 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
1089 {
1090 b.Navigation("RevisonInformations");
1091 });
1092
1093 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
1094 {
1095 b.Navigation("CreatedUsers");
1096
1097 b.Navigation("OAuthConnections");
1098
1099 b.Navigation("PermissionSet");
1100
1101 b.Navigation("TestMerges");
1102 });
1103
1104 modelBuilder.Entity("Tgstation.Server.Host.Models.UserGroup", b =>
1105 {
1106 b.Navigation("PermissionSet")
1107 .IsRequired();
1108
1109 b.Navigation("Users");
1110 });
1111#pragma warning restore 612, 618
1112 }
1113 }
1114}