tgstation-server 6.12.0
The /tg/station 13 server suite
Loading...
Searching...
No Matches
20200511012117_SLAddHeartbeat.Designer.cs
Go to the documentation of this file.
1// <auto-generated />
2using System;
3using Microsoft.EntityFrameworkCore;
4using Microsoft.EntityFrameworkCore.Infrastructure;
5using Microsoft.EntityFrameworkCore.Migrations;
6
8{
9 [DbContext(typeof(SqliteDatabaseContext))]
10 [Migration("20200511012117_SLAddHeartbeat")]
11 partial class SLAddHeartbeat
12 {
14 protected override void BuildTargetModel(ModelBuilder modelBuilder)
15 {
16#pragma warning disable 612, 618
17 modelBuilder
18 .HasAnnotation("ProductVersion", "3.1.3");
19
20 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
21 {
22 b.Property<long>("Id")
23 .ValueGeneratedOnAdd()
24 .HasColumnType("INTEGER");
25
26 b.Property<ushort?>("ChannelLimit")
27 .IsRequired()
28 .HasColumnType("INTEGER");
29
30 b.Property<string>("ConnectionString")
31 .IsRequired()
32 .HasColumnType("TEXT")
33 .HasMaxLength(10000);
34
35 b.Property<bool?>("Enabled")
36 .HasColumnType("INTEGER");
37
38 b.Property<long>("InstanceId")
39 .HasColumnType("INTEGER");
40
41 b.Property<string>("Name")
42 .IsRequired()
43 .HasColumnType("TEXT")
44 .HasMaxLength(100);
45
46 b.Property<int>("Provider")
47 .HasColumnType("INTEGER");
48
49 b.Property<uint?>("ReconnectionInterval")
50 .IsRequired()
51 .HasColumnType("INTEGER");
52
53 b.HasKey("Id");
54
55 b.HasIndex("InstanceId", "Name")
56 .IsUnique();
57
58 b.ToTable("ChatBots");
59 });
60
61 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
62 {
63 b.Property<long>("Id")
64 .ValueGeneratedOnAdd()
65 .HasColumnType("INTEGER");
66
67 b.Property<long>("ChatSettingsId")
68 .HasColumnType("INTEGER");
69
70 b.Property<ulong?>("DiscordChannelId")
71 .HasColumnType("INTEGER");
72
73 b.Property<string>("IrcChannel")
74 .HasColumnType("TEXT")
75 .HasMaxLength(100);
76
77 b.Property<bool?>("IsAdminChannel")
78 .IsRequired()
79 .HasColumnType("INTEGER");
80
81 b.Property<bool?>("IsUpdatesChannel")
82 .IsRequired()
83 .HasColumnType("INTEGER");
84
85 b.Property<bool?>("IsWatchdogChannel")
86 .IsRequired()
87 .HasColumnType("INTEGER");
88
89 b.Property<string>("Tag")
90 .HasColumnType("TEXT")
91 .HasMaxLength(10000);
92
93 b.HasKey("Id");
94
95 b.HasIndex("ChatSettingsId", "DiscordChannelId")
96 .IsUnique();
97
98 b.HasIndex("ChatSettingsId", "IrcChannel")
99 .IsUnique();
100
101 b.ToTable("ChatChannels");
102 });
103
104 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
105 {
106 b.Property<long>("Id")
107 .ValueGeneratedOnAdd()
108 .HasColumnType("INTEGER");
109
110 b.Property<string>("ByondVersion")
111 .IsRequired()
112 .HasColumnType("TEXT");
113
114 b.Property<int?>("DMApiMajorVersion")
115 .HasColumnType("INTEGER");
116
117 b.Property<int?>("DMApiMinorVersion")
118 .HasColumnType("INTEGER");
119
120 b.Property<int?>("DMApiPatchVersion")
121 .HasColumnType("INTEGER");
122
123 b.Property<Guid?>("DirectoryName")
124 .IsRequired()
125 .HasColumnType("TEXT");
126
127 b.Property<string>("DmeName")
128 .IsRequired()
129 .HasColumnType("TEXT");
130
131 b.Property<long>("JobId")
132 .HasColumnType("INTEGER");
133
134 b.Property<int>("MinimumSecurityLevel")
135 .HasColumnType("INTEGER");
136
137 b.Property<string>("Output")
138 .IsRequired()
139 .HasColumnType("TEXT");
140
141 b.Property<long>("RevisionInformationId")
142 .HasColumnType("INTEGER");
143
144 b.HasKey("Id");
145
146 b.HasIndex("DirectoryName");
147
148 b.HasIndex("JobId")
149 .IsUnique();
150
151 b.HasIndex("RevisionInformationId");
152
153 b.ToTable("CompileJobs");
154 });
155
156 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
157 {
158 b.Property<long>("Id")
159 .ValueGeneratedOnAdd()
160 .HasColumnType("INTEGER");
161
162 b.Property<string>("AccessToken")
163 .HasColumnType("TEXT");
164
165 b.Property<bool?>("AllowWebClient")
166 .IsRequired()
167 .HasColumnType("INTEGER");
168
169 b.Property<bool?>("AutoStart")
170 .IsRequired()
171 .HasColumnType("INTEGER");
172
173 b.Property<uint?>("HeartbeatSeconds")
174 .IsRequired()
175 .HasColumnType("INTEGER");
176
177 b.Property<long>("InstanceId")
178 .HasColumnType("INTEGER");
179
180 b.Property<ushort?>("PrimaryPort")
181 .IsRequired()
182 .HasColumnType("INTEGER");
183
184 b.Property<int?>("ProcessId")
185 .HasColumnType("INTEGER");
186
187 b.Property<ushort?>("SecondaryPort")
188 .IsRequired()
189 .HasColumnType("INTEGER");
190
191 b.Property<int>("SecurityLevel")
192 .HasColumnType("INTEGER");
193
194 b.Property<bool?>("SoftRestart")
195 .IsRequired()
196 .HasColumnType("INTEGER");
197
198 b.Property<bool?>("SoftShutdown")
199 .IsRequired()
200 .HasColumnType("INTEGER");
201
202 b.Property<uint?>("StartupTimeout")
203 .IsRequired()
204 .HasColumnType("INTEGER");
205
206 b.HasKey("Id");
207
208 b.HasIndex("InstanceId")
209 .IsUnique();
210
211 b.ToTable("DreamDaemonSettings");
212 });
213
214 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
215 {
216 b.Property<long>("Id")
217 .ValueGeneratedOnAdd()
218 .HasColumnType("INTEGER");
219
220 b.Property<ushort?>("ApiValidationPort")
221 .IsRequired()
222 .HasColumnType("INTEGER");
223
224 b.Property<int>("ApiValidationSecurityLevel")
225 .HasColumnType("INTEGER");
226
227 b.Property<long>("InstanceId")
228 .HasColumnType("INTEGER");
229
230 b.Property<string>("ProjectName")
231 .HasColumnType("TEXT")
232 .HasMaxLength(10000);
233
234 b.HasKey("Id");
235
236 b.HasIndex("InstanceId")
237 .IsUnique();
238
239 b.ToTable("DreamMakerSettings");
240 });
241
242 modelBuilder.Entity("Tgstation.Server.Host.Models.Instance", b =>
243 {
244 b.Property<long>("Id")
245 .ValueGeneratedOnAdd()
246 .HasColumnType("INTEGER");
247
248 b.Property<uint?>("AutoUpdateInterval")
249 .IsRequired()
250 .HasColumnType("INTEGER");
251
252 b.Property<ushort?>("ChatBotLimit")
253 .IsRequired()
254 .HasColumnType("INTEGER");
255
256 b.Property<int>("ConfigurationType")
257 .HasColumnType("INTEGER");
258
259 b.Property<string>("Name")
260 .IsRequired()
261 .HasColumnType("TEXT")
262 .HasMaxLength(10000);
263
264 b.Property<bool?>("Online")
265 .IsRequired()
266 .HasColumnType("INTEGER");
267
268 b.Property<string>("Path")
269 .IsRequired()
270 .HasColumnType("TEXT");
271
272 b.HasKey("Id");
273
274 b.HasIndex("Path")
275 .IsUnique();
276
277 b.ToTable("Instances");
278 });
279
280 modelBuilder.Entity("Tgstation.Server.Host.Models.InstanceUser", b =>
281 {
282 b.Property<long>("Id")
283 .ValueGeneratedOnAdd()
284 .HasColumnType("INTEGER");
285
286 b.Property<ulong>("ByondRights")
287 .HasColumnType("INTEGER");
288
289 b.Property<ulong>("ChatBotRights")
290 .HasColumnType("INTEGER");
291
292 b.Property<ulong>("ConfigurationRights")
293 .HasColumnType("INTEGER");
294
295 b.Property<ulong>("DreamDaemonRights")
296 .HasColumnType("INTEGER");
297
298 b.Property<ulong>("DreamMakerRights")
299 .HasColumnType("INTEGER");
300
301 b.Property<long>("InstanceId")
302 .HasColumnType("INTEGER");
303
304 b.Property<ulong>("InstanceUserRights")
305 .HasColumnType("INTEGER");
306
307 b.Property<ulong>("RepositoryRights")
308 .HasColumnType("INTEGER");
309
310 b.Property<long?>("UserId")
311 .IsRequired()
312 .HasColumnType("INTEGER");
313
314 b.HasKey("Id");
315
316 b.HasIndex("InstanceId");
317
318 b.HasIndex("UserId", "InstanceId")
319 .IsUnique();
320
321 b.ToTable("InstanceUsers");
322 });
323
324 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
325 {
326 b.Property<long>("Id")
327 .ValueGeneratedOnAdd()
328 .HasColumnType("INTEGER");
329
330 b.Property<ulong?>("CancelRight")
331 .HasColumnType("INTEGER");
332
333 b.Property<ulong?>("CancelRightsType")
334 .HasColumnType("INTEGER");
335
336 b.Property<bool?>("Cancelled")
337 .IsRequired()
338 .HasColumnType("INTEGER");
339
340 b.Property<long?>("CancelledById")
341 .HasColumnType("INTEGER");
342
343 b.Property<string>("Description")
344 .IsRequired()
345 .HasColumnType("TEXT");
346
347 b.Property<uint?>("ErrorCode")
348 .HasColumnType("INTEGER");
349
350 b.Property<string>("ExceptionDetails")
351 .HasColumnType("TEXT");
352
353 b.Property<long>("InstanceId")
354 .HasColumnType("INTEGER");
355
356 b.Property<DateTimeOffset?>("StartedAt")
357 .IsRequired()
358 .HasColumnType("TEXT");
359
360 b.Property<long>("StartedById")
361 .HasColumnType("INTEGER");
362
363 b.Property<DateTimeOffset?>("StoppedAt")
364 .HasColumnType("TEXT");
365
366 b.HasKey("Id");
367
368 b.HasIndex("CancelledById");
369
370 b.HasIndex("InstanceId");
371
372 b.HasIndex("StartedById");
373
374 b.ToTable("Jobs");
375 });
376
377 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
378 {
379 b.Property<long>("Id")
380 .ValueGeneratedOnAdd()
381 .HasColumnType("INTEGER");
382
383 b.Property<string>("AccessIdentifier")
384 .IsRequired()
385 .HasColumnType("TEXT");
386
387 b.Property<long>("CompileJobId")
388 .HasColumnType("INTEGER");
389
390 b.Property<bool>("IsPrimary")
391 .HasColumnType("INTEGER");
392
393 b.Property<int>("LaunchSecurityLevel")
394 .HasColumnType("INTEGER");
395
396 b.Property<ushort>("Port")
397 .HasColumnType("INTEGER");
398
399 b.Property<int>("ProcessId")
400 .HasColumnType("INTEGER");
401
402 b.Property<int>("RebootState")
403 .HasColumnType("INTEGER");
404
405 b.HasKey("Id");
406
407 b.HasIndex("CompileJobId");
408
409 b.ToTable("ReattachInformations");
410 });
411
412 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
413 {
414 b.Property<long>("Id")
415 .ValueGeneratedOnAdd()
416 .HasColumnType("INTEGER");
417
418 b.Property<string>("AccessToken")
419 .HasColumnType("TEXT")
420 .HasMaxLength(10000);
421
422 b.Property<string>("AccessUser")
423 .HasColumnType("TEXT")
424 .HasMaxLength(10000);
425
426 b.Property<bool?>("AutoUpdatesKeepTestMerges")
427 .IsRequired()
428 .HasColumnType("INTEGER");
429
430 b.Property<bool?>("AutoUpdatesSynchronize")
431 .IsRequired()
432 .HasColumnType("INTEGER");
433
434 b.Property<string>("CommitterEmail")
435 .IsRequired()
436 .HasColumnType("TEXT")
437 .HasMaxLength(10000);
438
439 b.Property<string>("CommitterName")
440 .IsRequired()
441 .HasColumnType("TEXT")
442 .HasMaxLength(10000);
443
444 b.Property<long>("InstanceId")
445 .HasColumnType("INTEGER");
446
447 b.Property<bool?>("PostTestMergeComment")
448 .IsRequired()
449 .HasColumnType("INTEGER");
450
451 b.Property<bool?>("PushTestMergeCommits")
452 .IsRequired()
453 .HasColumnType("INTEGER");
454
455 b.Property<bool?>("ShowTestMergeCommitters")
456 .IsRequired()
457 .HasColumnType("INTEGER");
458
459 b.HasKey("Id");
460
461 b.HasIndex("InstanceId")
462 .IsUnique();
463
464 b.ToTable("RepositorySettings");
465 });
466
467 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
468 {
469 b.Property<long>("Id")
470 .ValueGeneratedOnAdd()
471 .HasColumnType("INTEGER");
472
473 b.Property<long>("RevisionInformationId")
474 .HasColumnType("INTEGER");
475
476 b.Property<long>("TestMergeId")
477 .HasColumnType("INTEGER");
478
479 b.HasKey("Id");
480
481 b.HasIndex("RevisionInformationId");
482
483 b.HasIndex("TestMergeId");
484
485 b.ToTable("RevInfoTestMerges");
486 });
487
488 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
489 {
490 b.Property<long>("Id")
491 .ValueGeneratedOnAdd()
492 .HasColumnType("INTEGER");
493
494 b.Property<string>("CommitSha")
495 .IsRequired()
496 .HasColumnType("TEXT")
497 .HasMaxLength(40);
498
499 b.Property<long>("InstanceId")
500 .HasColumnType("INTEGER");
501
502 b.Property<string>("OriginCommitSha")
503 .IsRequired()
504 .HasColumnType("TEXT")
505 .HasMaxLength(40);
506
507 b.HasKey("Id");
508
509 b.HasIndex("InstanceId", "CommitSha")
510 .IsUnique();
511
512 b.ToTable("RevisionInformations");
513 });
514
515 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
516 {
517 b.Property<long>("Id")
518 .ValueGeneratedOnAdd()
519 .HasColumnType("INTEGER");
520
521 b.Property<string>("Author")
522 .IsRequired()
523 .HasColumnType("TEXT");
524
525 b.Property<string>("BodyAtMerge")
526 .IsRequired()
527 .HasColumnType("TEXT");
528
529 b.Property<string>("Comment")
530 .HasColumnType("TEXT")
531 .HasMaxLength(10000);
532
533 b.Property<DateTimeOffset>("MergedAt")
534 .HasColumnType("TEXT");
535
536 b.Property<long>("MergedById")
537 .HasColumnType("INTEGER");
538
539 b.Property<int>("Number")
540 .HasColumnType("INTEGER");
541
542 b.Property<long?>("PrimaryRevisionInformationId")
543 .IsRequired()
544 .HasColumnType("INTEGER");
545
546 b.Property<string>("PullRequestRevision")
547 .IsRequired()
548 .HasColumnType("TEXT")
549 .HasMaxLength(40);
550
551 b.Property<string>("TitleAtMerge")
552 .IsRequired()
553 .HasColumnType("TEXT");
554
555 b.Property<string>("Url")
556 .IsRequired()
557 .HasColumnType("TEXT");
558
559 b.HasKey("Id");
560
561 b.HasIndex("MergedById");
562
563 b.HasIndex("PrimaryRevisionInformationId")
564 .IsUnique();
565
566 b.ToTable("TestMerges");
567 });
568
569 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
570 {
571 b.Property<long?>("Id")
572 .ValueGeneratedOnAdd()
573 .HasColumnType("INTEGER");
574
575 b.Property<ulong>("AdministrationRights")
576 .HasColumnType("INTEGER");
577
578 b.Property<string>("CanonicalName")
579 .IsRequired()
580 .HasColumnType("TEXT");
581
582 b.Property<DateTimeOffset?>("CreatedAt")
583 .IsRequired()
584 .HasColumnType("TEXT");
585
586 b.Property<long?>("CreatedById")
587 .HasColumnType("INTEGER");
588
589 b.Property<bool?>("Enabled")
590 .IsRequired()
591 .HasColumnType("INTEGER");
592
593 b.Property<ulong>("InstanceManagerRights")
594 .HasColumnType("INTEGER");
595
596 b.Property<DateTimeOffset?>("LastPasswordUpdate")
597 .HasColumnType("TEXT");
598
599 b.Property<string>("Name")
600 .IsRequired()
601 .HasColumnType("TEXT")
602 .HasMaxLength(10000);
603
604 b.Property<string>("PasswordHash")
605 .HasColumnType("TEXT");
606
607 b.Property<string>("SystemIdentifier")
608 .HasColumnType("TEXT");
609
610 b.HasKey("Id");
611
612 b.HasIndex("CanonicalName")
613 .IsUnique();
614
615 b.HasIndex("CreatedById");
616
617 b.HasIndex("SystemIdentifier")
618 .IsUnique();
619
620 b.ToTable("Users");
621 });
622
623 modelBuilder.Entity("Tgstation.Server.Host.Models.WatchdogReattachInformation", b =>
624 {
625 b.Property<long>("Id")
626 .ValueGeneratedOnAdd()
627 .HasColumnType("INTEGER");
628
629 b.Property<long?>("AlphaId")
630 .HasColumnType("INTEGER");
631
632 b.Property<bool>("AlphaIsActive")
633 .HasColumnType("INTEGER");
634
635 b.Property<long?>("BravoId")
636 .HasColumnType("INTEGER");
637
638 b.Property<long>("InstanceId")
639 .HasColumnType("INTEGER");
640
641 b.HasKey("Id");
642
643 b.HasIndex("AlphaId");
644
645 b.HasIndex("BravoId");
646
647 b.HasIndex("InstanceId")
648 .IsUnique();
649
650 b.ToTable("WatchdogReattachInformations");
651 });
652
653 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatBot", b =>
654 {
655 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
656 .WithMany("ChatSettings")
657 .HasForeignKey("InstanceId")
658 .OnDelete(DeleteBehavior.Cascade)
659 .IsRequired();
660 });
661
662 modelBuilder.Entity("Tgstation.Server.Host.Models.ChatChannel", b =>
663 {
664 b.HasOne("Tgstation.Server.Host.Models.ChatBot", "ChatSettings")
665 .WithMany("Channels")
666 .HasForeignKey("ChatSettingsId")
667 .OnDelete(DeleteBehavior.Cascade)
668 .IsRequired();
669 });
670
671 modelBuilder.Entity("Tgstation.Server.Host.Models.CompileJob", b =>
672 {
673 b.HasOne("Tgstation.Server.Host.Models.Job", "Job")
674 .WithOne()
675 .HasForeignKey("Tgstation.Server.Host.Models.CompileJob", "JobId")
676 .OnDelete(DeleteBehavior.Cascade)
677 .IsRequired();
678
679 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
680 .WithMany("CompileJobs")
681 .HasForeignKey("RevisionInformationId")
682 .OnDelete(DeleteBehavior.ClientNoAction)
683 .IsRequired();
684 });
685
686 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamDaemonSettings", b =>
687 {
688 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
689 .WithOne("DreamDaemonSettings")
690 .HasForeignKey("Tgstation.Server.Host.Models.DreamDaemonSettings", "InstanceId")
691 .OnDelete(DeleteBehavior.Cascade)
692 .IsRequired();
693 });
694
695 modelBuilder.Entity("Tgstation.Server.Host.Models.DreamMakerSettings", b =>
696 {
697 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
698 .WithOne("DreamMakerSettings")
699 .HasForeignKey("Tgstation.Server.Host.Models.DreamMakerSettings", "InstanceId")
700 .OnDelete(DeleteBehavior.Cascade)
701 .IsRequired();
702 });
703
704 modelBuilder.Entity("Tgstation.Server.Host.Models.InstanceUser", b =>
705 {
706 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
707 .WithMany("InstanceUsers")
708 .HasForeignKey("InstanceId")
709 .OnDelete(DeleteBehavior.Cascade)
710 .IsRequired();
711
712 b.HasOne("Tgstation.Server.Host.Models.User", null)
713 .WithMany("InstanceUsers")
714 .HasForeignKey("UserId")
715 .OnDelete(DeleteBehavior.Cascade)
716 .IsRequired();
717 });
718
719 modelBuilder.Entity("Tgstation.Server.Host.Models.Job", b =>
720 {
721 b.HasOne("Tgstation.Server.Host.Models.User", "CancelledBy")
722 .WithMany()
723 .HasForeignKey("CancelledById");
724
725 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
726 .WithMany("Jobs")
727 .HasForeignKey("InstanceId")
728 .OnDelete(DeleteBehavior.Cascade)
729 .IsRequired();
730
731 b.HasOne("Tgstation.Server.Host.Models.User", "StartedBy")
732 .WithMany()
733 .HasForeignKey("StartedById")
734 .OnDelete(DeleteBehavior.Cascade)
735 .IsRequired();
736 });
737
738 modelBuilder.Entity("Tgstation.Server.Host.Models.ReattachInformation", b =>
739 {
740 b.HasOne("Tgstation.Server.Host.Models.CompileJob", "CompileJob")
741 .WithMany()
742 .HasForeignKey("CompileJobId")
743 .OnDelete(DeleteBehavior.Cascade)
744 .IsRequired();
745 });
746
747 modelBuilder.Entity("Tgstation.Server.Host.Models.RepositorySettings", b =>
748 {
749 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
750 .WithOne("RepositorySettings")
751 .HasForeignKey("Tgstation.Server.Host.Models.RepositorySettings", "InstanceId")
752 .OnDelete(DeleteBehavior.Cascade)
753 .IsRequired();
754 });
755
756 modelBuilder.Entity("Tgstation.Server.Host.Models.RevInfoTestMerge", b =>
757 {
758 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "RevisionInformation")
759 .WithMany("ActiveTestMerges")
760 .HasForeignKey("RevisionInformationId")
761 .OnDelete(DeleteBehavior.Cascade)
762 .IsRequired();
763
764 b.HasOne("Tgstation.Server.Host.Models.TestMerge", "TestMerge")
765 .WithMany("RevisonInformations")
766 .HasForeignKey("TestMergeId")
767 .OnDelete(DeleteBehavior.ClientNoAction)
768 .IsRequired();
769 });
770
771 modelBuilder.Entity("Tgstation.Server.Host.Models.RevisionInformation", b =>
772 {
773 b.HasOne("Tgstation.Server.Host.Models.Instance", "Instance")
774 .WithMany("RevisionInformations")
775 .HasForeignKey("InstanceId")
776 .OnDelete(DeleteBehavior.Cascade)
777 .IsRequired();
778 });
779
780 modelBuilder.Entity("Tgstation.Server.Host.Models.TestMerge", b =>
781 {
782 b.HasOne("Tgstation.Server.Host.Models.User", "MergedBy")
783 .WithMany("TestMerges")
784 .HasForeignKey("MergedById")
785 .OnDelete(DeleteBehavior.Restrict)
786 .IsRequired();
787
788 b.HasOne("Tgstation.Server.Host.Models.RevisionInformation", "PrimaryRevisionInformation")
789 .WithOne("PrimaryTestMerge")
790 .HasForeignKey("Tgstation.Server.Host.Models.TestMerge", "PrimaryRevisionInformationId")
791 .OnDelete(DeleteBehavior.Cascade)
792 .IsRequired();
793 });
794
795 modelBuilder.Entity("Tgstation.Server.Host.Models.User", b =>
796 {
797 b.HasOne("Tgstation.Server.Host.Models.User", "CreatedBy")
798 .WithMany("CreatedUsers")
799 .HasForeignKey("CreatedById");
800 });
801
802 modelBuilder.Entity("Tgstation.Server.Host.Models.WatchdogReattachInformation", b =>
803 {
804 b.HasOne("Tgstation.Server.Host.Models.ReattachInformation", "Alpha")
805 .WithMany()
806 .HasForeignKey("AlphaId");
807
808 b.HasOne("Tgstation.Server.Host.Models.ReattachInformation", "Bravo")
809 .WithMany()
810 .HasForeignKey("BravoId");
811
812 b.HasOne("Tgstation.Server.Host.Models.Instance", null)
813 .WithOne("WatchdogReattachInformation")
814 .HasForeignKey("Tgstation.Server.Host.Models.WatchdogReattachInformation", "InstanceId")
815 .OnDelete(DeleteBehavior.Cascade)
816 .IsRequired();
817 });
818#pragma warning restore 612, 618
819 }
820 }
821}