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