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