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