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