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