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