]> git.smokeofanarchy.ru Git - space-station-14.git/blob
f3ccf61d6d3941419066036680eaffb6afe41784
[space-station-14.git] /
1 // <auto-generated />
2 using System;
3 using System.Net;
4 using System.Text.Json;
5 using Content.Server.Database;
6 using Microsoft.EntityFrameworkCore;
7 using Microsoft.EntityFrameworkCore.Infrastructure;
8 using Microsoft.EntityFrameworkCore.Migrations;
9 using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
10 using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
11
12 #nullable disable
13
14 namespace Content.Server.Database.Migrations.Postgres
15 {
16     [DbContext(typeof(PostgresServerDbContext))]
17     [Migration("20230725193102_AdminNotesImprovementsForeignKeys")]
18     partial class AdminNotesImprovementsForeignKeys
19     {
20         /// <inheritdoc />
21         protected override void BuildTargetModel(ModelBuilder modelBuilder)
22         {
23 #pragma warning disable 612, 618
24             modelBuilder
25                 .HasAnnotation("ProductVersion", "7.0.4")
26                 .HasAnnotation("Relational:MaxIdentifierLength", 63);
27
28             NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
29
30             modelBuilder.Entity("Content.Server.Database.Admin", b =>
31                 {
32                     b.Property<Guid>("UserId")
33                         .ValueGeneratedOnAdd()
34                         .HasColumnType("uuid")
35                         .HasColumnName("user_id");
36
37                     b.Property<int?>("AdminRankId")
38                         .HasColumnType("integer")
39                         .HasColumnName("admin_rank_id");
40
41                     b.Property<string>("Title")
42                         .HasColumnType("text")
43                         .HasColumnName("title");
44
45                     b.HasKey("UserId")
46                         .HasName("PK_admin");
47
48                     b.HasIndex("AdminRankId")
49                         .HasDatabaseName("IX_admin_admin_rank_id");
50
51                     b.ToTable("admin", (string)null);
52                 });
53
54             modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
55                 {
56                     b.Property<int>("Id")
57                         .ValueGeneratedOnAdd()
58                         .HasColumnType("integer")
59                         .HasColumnName("admin_flag_id");
60
61                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
62
63                     b.Property<Guid>("AdminId")
64                         .HasColumnType("uuid")
65                         .HasColumnName("admin_id");
66
67                     b.Property<string>("Flag")
68                         .IsRequired()
69                         .HasColumnType("text")
70                         .HasColumnName("flag");
71
72                     b.Property<bool>("Negative")
73                         .HasColumnType("boolean")
74                         .HasColumnName("negative");
75
76                     b.HasKey("Id")
77                         .HasName("PK_admin_flag");
78
79                     b.HasIndex("AdminId")
80                         .HasDatabaseName("IX_admin_flag_admin_id");
81
82                     b.HasIndex("Flag", "AdminId")
83                         .IsUnique();
84
85                     b.ToTable("admin_flag", (string)null);
86                 });
87
88             modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
89                 {
90                     b.Property<int>("Id")
91                         .ValueGeneratedOnAdd()
92                         .HasColumnType("integer")
93                         .HasColumnName("admin_log_id");
94
95                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
96
97                     b.Property<int>("RoundId")
98                         .HasColumnType("integer")
99                         .HasColumnName("round_id");
100
101                     b.Property<DateTime>("Date")
102                         .HasColumnType("timestamp with time zone")
103                         .HasColumnName("date");
104
105                     b.Property<short>("Impact")
106                         .HasColumnType("smallint")
107                         .HasColumnName("impact");
108
109                     b.Property<JsonDocument>("Json")
110                         .IsRequired()
111                         .HasColumnType("jsonb")
112                         .HasColumnName("json");
113
114                     b.Property<string>("Message")
115                         .IsRequired()
116                         .HasColumnType("text")
117                         .HasColumnName("message");
118
119                     b.Property<int>("Type")
120                         .HasColumnType("integer")
121                         .HasColumnName("type");
122
123                     b.HasKey("Id", "RoundId")
124                         .HasName("PK_admin_log");
125
126                     b.HasIndex("Date");
127
128                     b.HasIndex("Message")
129                         .HasAnnotation("Npgsql:TsVectorConfig", "english");
130
131                     NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex("Message"), "GIN");
132
133                     b.HasIndex("RoundId")
134                         .HasDatabaseName("IX_admin_log_round_id");
135
136                     b.HasIndex("Type")
137                         .HasDatabaseName("IX_admin_log_type");
138
139                     b.ToTable("admin_log", (string)null);
140                 });
141
142             modelBuilder.Entity("Content.Server.Database.AdminLogEntity", b =>
143                 {
144                     b.Property<int>("Uid")
145                         .ValueGeneratedOnAdd()
146                         .HasColumnType("integer")
147                         .HasColumnName("uid");
148
149                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Uid"));
150
151                     b.Property<int?>("AdminLogId")
152                         .HasColumnType("integer")
153                         .HasColumnName("admin_log_id");
154
155                     b.Property<int?>("AdminLogRoundId")
156                         .HasColumnType("integer")
157                         .HasColumnName("admin_log_round_id");
158
159                     b.Property<string>("Name")
160                         .HasColumnType("text")
161                         .HasColumnName("name");
162
163                     b.HasKey("Uid")
164                         .HasName("PK_admin_log_entity");
165
166                     b.HasIndex("AdminLogId", "AdminLogRoundId")
167                         .HasDatabaseName("IX_admin_log_entity_admin_log_id_admin_log_round_id");
168
169                     b.ToTable("admin_log_entity", (string)null);
170                 });
171
172             modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
173                 {
174                     b.Property<Guid>("PlayerUserId")
175                         .HasColumnType("uuid")
176                         .HasColumnName("player_user_id");
177
178                     b.Property<int>("LogId")
179                         .HasColumnType("integer")
180                         .HasColumnName("log_id");
181
182                     b.Property<int>("RoundId")
183                         .HasColumnType("integer")
184                         .HasColumnName("round_id");
185
186                     b.HasKey("PlayerUserId", "LogId", "RoundId")
187                         .HasName("PK_admin_log_player");
188
189                     b.HasIndex("LogId", "RoundId");
190
191                     b.ToTable("admin_log_player", (string)null);
192                 });
193
194             modelBuilder.Entity("Content.Server.Database.AdminMessage", b =>
195                 {
196                     b.Property<int>("Id")
197                         .ValueGeneratedOnAdd()
198                         .HasColumnType("integer")
199                         .HasColumnName("admin_messages_id");
200
201                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
202
203                     b.Property<DateTime>("CreatedAt")
204                         .HasColumnType("timestamp with time zone")
205                         .HasColumnName("created_at");
206
207                     b.Property<Guid?>("CreatedById")
208                         .HasColumnType("uuid")
209                         .HasColumnName("created_by_id");
210
211                     b.Property<bool>("Deleted")
212                         .HasColumnType("boolean")
213                         .HasColumnName("deleted");
214
215                     b.Property<DateTime?>("DeletedAt")
216                         .HasColumnType("timestamp with time zone")
217                         .HasColumnName("deleted_at");
218
219                     b.Property<Guid?>("DeletedById")
220                         .HasColumnType("uuid")
221                         .HasColumnName("deleted_by_id");
222
223                     b.Property<DateTime?>("ExpirationTime")
224                         .HasColumnType("timestamp with time zone")
225                         .HasColumnName("expiration_time");
226
227                     b.Property<DateTime?>("LastEditedAt")
228                         .HasColumnType("timestamp with time zone")
229                         .HasColumnName("last_edited_at");
230
231                     b.Property<Guid?>("LastEditedById")
232                         .HasColumnType("uuid")
233                         .HasColumnName("last_edited_by_id");
234
235                     b.Property<string>("Message")
236                         .IsRequired()
237                         .HasMaxLength(4096)
238                         .HasColumnType("character varying(4096)")
239                         .HasColumnName("message");
240
241                     b.Property<Guid?>("PlayerUserId")
242                         .HasColumnType("uuid")
243                         .HasColumnName("player_user_id");
244
245                     b.Property<TimeSpan>("PlaytimeAtNote")
246                         .HasColumnType("interval")
247                         .HasColumnName("playtime_at_note");
248
249                     b.Property<int?>("RoundId")
250                         .HasColumnType("integer")
251                         .HasColumnName("round_id");
252
253                     b.Property<bool>("Seen")
254                         .HasColumnType("boolean")
255                         .HasColumnName("seen");
256
257                     b.HasKey("Id")
258                         .HasName("PK_admin_messages");
259
260                     b.HasIndex("CreatedById");
261
262                     b.HasIndex("DeletedById");
263
264                     b.HasIndex("LastEditedById");
265
266                     b.HasIndex("PlayerUserId")
267                         .HasDatabaseName("IX_admin_messages_player_user_id");
268
269                     b.HasIndex("RoundId")
270                         .HasDatabaseName("IX_admin_messages_round_id");
271
272                     b.ToTable("admin_messages", (string)null);
273                 });
274
275             modelBuilder.Entity("Content.Server.Database.AdminNote", b =>
276                 {
277                     b.Property<int>("Id")
278                         .ValueGeneratedOnAdd()
279                         .HasColumnType("integer")
280                         .HasColumnName("admin_notes_id");
281
282                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
283
284                     b.Property<DateTime>("CreatedAt")
285                         .HasColumnType("timestamp with time zone")
286                         .HasColumnName("created_at");
287
288                     b.Property<Guid?>("CreatedById")
289                         .HasColumnType("uuid")
290                         .HasColumnName("created_by_id");
291
292                     b.Property<bool>("Deleted")
293                         .HasColumnType("boolean")
294                         .HasColumnName("deleted");
295
296                     b.Property<DateTime?>("DeletedAt")
297                         .HasColumnType("timestamp with time zone")
298                         .HasColumnName("deleted_at");
299
300                     b.Property<Guid?>("DeletedById")
301                         .HasColumnType("uuid")
302                         .HasColumnName("deleted_by_id");
303
304                     b.Property<DateTime?>("ExpirationTime")
305                         .HasColumnType("timestamp with time zone")
306                         .HasColumnName("expiration_time");
307
308                     b.Property<DateTime?>("LastEditedAt")
309                         .IsRequired()
310                         .HasColumnType("timestamp with time zone")
311                         .HasColumnName("last_edited_at");
312
313                     b.Property<Guid?>("LastEditedById")
314                         .HasColumnType("uuid")
315                         .HasColumnName("last_edited_by_id");
316
317                     b.Property<string>("Message")
318                         .IsRequired()
319                         .HasMaxLength(4096)
320                         .HasColumnType("character varying(4096)")
321                         .HasColumnName("message");
322
323                     b.Property<Guid?>("PlayerUserId")
324                         .HasColumnType("uuid")
325                         .HasColumnName("player_user_id");
326
327                     b.Property<TimeSpan>("PlaytimeAtNote")
328                         .HasColumnType("interval")
329                         .HasColumnName("playtime_at_note");
330
331                     b.Property<int?>("RoundId")
332                         .HasColumnType("integer")
333                         .HasColumnName("round_id");
334
335                     b.Property<bool>("Secret")
336                         .HasColumnType("boolean")
337                         .HasColumnName("secret");
338
339                     b.Property<int>("Severity")
340                         .HasColumnType("integer")
341                         .HasColumnName("severity");
342
343                     b.HasKey("Id")
344                         .HasName("PK_admin_notes");
345
346                     b.HasIndex("CreatedById");
347
348                     b.HasIndex("DeletedById");
349
350                     b.HasIndex("LastEditedById");
351
352                     b.HasIndex("PlayerUserId")
353                         .HasDatabaseName("IX_admin_notes_player_user_id");
354
355                     b.HasIndex("RoundId")
356                         .HasDatabaseName("IX_admin_notes_round_id");
357
358                     b.ToTable("admin_notes", (string)null);
359                 });
360
361             modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
362                 {
363                     b.Property<int>("Id")
364                         .ValueGeneratedOnAdd()
365                         .HasColumnType("integer")
366                         .HasColumnName("admin_rank_id");
367
368                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
369
370                     b.Property<string>("Name")
371                         .IsRequired()
372                         .HasColumnType("text")
373                         .HasColumnName("name");
374
375                     b.HasKey("Id")
376                         .HasName("PK_admin_rank");
377
378                     b.ToTable("admin_rank", (string)null);
379                 });
380
381             modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
382                 {
383                     b.Property<int>("Id")
384                         .ValueGeneratedOnAdd()
385                         .HasColumnType("integer")
386                         .HasColumnName("admin_rank_flag_id");
387
388                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
389
390                     b.Property<int>("AdminRankId")
391                         .HasColumnType("integer")
392                         .HasColumnName("admin_rank_id");
393
394                     b.Property<string>("Flag")
395                         .IsRequired()
396                         .HasColumnType("text")
397                         .HasColumnName("flag");
398
399                     b.HasKey("Id")
400                         .HasName("PK_admin_rank_flag");
401
402                     b.HasIndex("AdminRankId");
403
404                     b.HasIndex("Flag", "AdminRankId")
405                         .IsUnique();
406
407                     b.ToTable("admin_rank_flag", (string)null);
408                 });
409
410             modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b =>
411                 {
412                     b.Property<int>("Id")
413                         .ValueGeneratedOnAdd()
414                         .HasColumnType("integer")
415                         .HasColumnName("admin_watchlists_id");
416
417                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
418
419                     b.Property<DateTime>("CreatedAt")
420                         .HasColumnType("timestamp with time zone")
421                         .HasColumnName("created_at");
422
423                     b.Property<Guid?>("CreatedById")
424                         .HasColumnType("uuid")
425                         .HasColumnName("created_by_id");
426
427                     b.Property<bool>("Deleted")
428                         .HasColumnType("boolean")
429                         .HasColumnName("deleted");
430
431                     b.Property<DateTime?>("DeletedAt")
432                         .HasColumnType("timestamp with time zone")
433                         .HasColumnName("deleted_at");
434
435                     b.Property<Guid?>("DeletedById")
436                         .HasColumnType("uuid")
437                         .HasColumnName("deleted_by_id");
438
439                     b.Property<DateTime?>("ExpirationTime")
440                         .HasColumnType("timestamp with time zone")
441                         .HasColumnName("expiration_time");
442
443                     b.Property<DateTime?>("LastEditedAt")
444                         .IsRequired()
445                         .HasColumnType("timestamp with time zone")
446                         .HasColumnName("last_edited_at");
447
448                     b.Property<Guid?>("LastEditedById")
449                         .HasColumnType("uuid")
450                         .HasColumnName("last_edited_by_id");
451
452                     b.Property<string>("Message")
453                         .IsRequired()
454                         .HasMaxLength(4096)
455                         .HasColumnType("character varying(4096)")
456                         .HasColumnName("message");
457
458                     b.Property<Guid?>("PlayerUserId")
459                         .HasColumnType("uuid")
460                         .HasColumnName("player_user_id");
461
462                     b.Property<TimeSpan>("PlaytimeAtNote")
463                         .HasColumnType("interval")
464                         .HasColumnName("playtime_at_note");
465
466                     b.Property<int?>("RoundId")
467                         .HasColumnType("integer")
468                         .HasColumnName("round_id");
469
470                     b.HasKey("Id")
471                         .HasName("PK_admin_watchlists");
472
473                     b.HasIndex("CreatedById");
474
475                     b.HasIndex("DeletedById");
476
477                     b.HasIndex("LastEditedById");
478
479                     b.HasIndex("PlayerUserId")
480                         .HasDatabaseName("IX_admin_watchlists_player_user_id");
481
482                     b.HasIndex("RoundId")
483                         .HasDatabaseName("IX_admin_watchlists_round_id");
484
485                     b.ToTable("admin_watchlists", (string)null);
486                 });
487
488             modelBuilder.Entity("Content.Server.Database.Antag", b =>
489                 {
490                     b.Property<int>("Id")
491                         .ValueGeneratedOnAdd()
492                         .HasColumnType("integer")
493                         .HasColumnName("antag_id");
494
495                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
496
497                     b.Property<string>("AntagName")
498                         .IsRequired()
499                         .HasColumnType("text")
500                         .HasColumnName("antag_name");
501
502                     b.Property<int>("ProfileId")
503                         .HasColumnType("integer")
504                         .HasColumnName("profile_id");
505
506                     b.HasKey("Id")
507                         .HasName("PK_antag");
508
509                     b.HasIndex("ProfileId", "AntagName")
510                         .IsUnique();
511
512                     b.ToTable("antag", (string)null);
513                 });
514
515             modelBuilder.Entity("Content.Server.Database.AssignedUserId", b =>
516                 {
517                     b.Property<int>("Id")
518                         .ValueGeneratedOnAdd()
519                         .HasColumnType("integer")
520                         .HasColumnName("assigned_user_id_id");
521
522                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
523
524                     b.Property<Guid>("UserId")
525                         .HasColumnType("uuid")
526                         .HasColumnName("user_id");
527
528                     b.Property<string>("UserName")
529                         .IsRequired()
530                         .HasColumnType("text")
531                         .HasColumnName("user_name");
532
533                     b.HasKey("Id")
534                         .HasName("PK_assigned_user_id");
535
536                     b.HasIndex("UserId")
537                         .IsUnique();
538
539                     b.HasIndex("UserName")
540                         .IsUnique();
541
542                     b.ToTable("assigned_user_id", (string)null);
543                 });
544
545             modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
546                 {
547                     b.Property<int>("Id")
548                         .ValueGeneratedOnAdd()
549                         .HasColumnType("integer")
550                         .HasColumnName("connection_log_id");
551
552                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
553
554                     b.Property<IPAddress>("Address")
555                         .IsRequired()
556                         .HasColumnType("inet")
557                         .HasColumnName("address");
558
559                     b.Property<byte?>("Denied")
560                         .HasColumnType("smallint")
561                         .HasColumnName("denied");
562
563                     b.Property<byte[]>("HWId")
564                         .HasColumnType("bytea")
565                         .HasColumnName("hwid");
566
567                     b.Property<DateTime>("Time")
568                         .HasColumnType("timestamp with time zone")
569                         .HasColumnName("time");
570
571                     b.Property<Guid>("UserId")
572                         .HasColumnType("uuid")
573                         .HasColumnName("user_id");
574
575                     b.Property<string>("UserName")
576                         .IsRequired()
577                         .HasColumnType("text")
578                         .HasColumnName("user_name");
579
580                     b.HasKey("Id")
581                         .HasName("PK_connection_log");
582
583                     b.HasIndex("UserId");
584
585                     b.ToTable("connection_log", null, t =>
586                         {
587                             t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
588                         });
589                 });
590
591             modelBuilder.Entity("Content.Server.Database.Job", b =>
592                 {
593                     b.Property<int>("Id")
594                         .ValueGeneratedOnAdd()
595                         .HasColumnType("integer")
596                         .HasColumnName("job_id");
597
598                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
599
600                     b.Property<string>("JobName")
601                         .IsRequired()
602                         .HasColumnType("text")
603                         .HasColumnName("job_name");
604
605                     b.Property<int>("Priority")
606                         .HasColumnType("integer")
607                         .HasColumnName("priority");
608
609                     b.Property<int>("ProfileId")
610                         .HasColumnType("integer")
611                         .HasColumnName("profile_id");
612
613                     b.HasKey("Id")
614                         .HasName("PK_job");
615
616                     b.HasIndex("ProfileId");
617
618                     b.HasIndex("ProfileId", "JobName")
619                         .IsUnique();
620
621                     b.HasIndex(new[] { "ProfileId" }, "IX_job_one_high_priority")
622                         .IsUnique()
623                         .HasFilter("priority = 3");
624
625                     b.ToTable("job", (string)null);
626                 });
627
628             modelBuilder.Entity("Content.Server.Database.PlayTime", b =>
629                 {
630                     b.Property<int>("Id")
631                         .ValueGeneratedOnAdd()
632                         .HasColumnType("integer")
633                         .HasColumnName("play_time_id");
634
635                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
636
637                     b.Property<Guid>("PlayerId")
638                         .HasColumnType("uuid")
639                         .HasColumnName("player_id");
640
641                     b.Property<TimeSpan>("TimeSpent")
642                         .HasColumnType("interval")
643                         .HasColumnName("time_spent");
644
645                     b.Property<string>("Tracker")
646                         .IsRequired()
647                         .HasColumnType("text")
648                         .HasColumnName("tracker");
649
650                     b.HasKey("Id")
651                         .HasName("PK_play_time");
652
653                     b.HasIndex("PlayerId", "Tracker")
654                         .IsUnique();
655
656                     b.ToTable("play_time", (string)null);
657                 });
658
659             modelBuilder.Entity("Content.Server.Database.Player", b =>
660                 {
661                     b.Property<int>("Id")
662                         .ValueGeneratedOnAdd()
663                         .HasColumnType("integer")
664                         .HasColumnName("player_id");
665
666                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
667
668                     b.Property<DateTime>("FirstSeenTime")
669                         .HasColumnType("timestamp with time zone")
670                         .HasColumnName("first_seen_time");
671
672                     b.Property<DateTime?>("LastReadRules")
673                         .HasColumnType("timestamp with time zone")
674                         .HasColumnName("last_read_rules");
675
676                     b.Property<IPAddress>("LastSeenAddress")
677                         .IsRequired()
678                         .HasColumnType("inet")
679                         .HasColumnName("last_seen_address");
680
681                     b.Property<byte[]>("LastSeenHWId")
682                         .HasColumnType("bytea")
683                         .HasColumnName("last_seen_hwid");
684
685                     b.Property<DateTime>("LastSeenTime")
686                         .HasColumnType("timestamp with time zone")
687                         .HasColumnName("last_seen_time");
688
689                     b.Property<string>("LastSeenUserName")
690                         .IsRequired()
691                         .HasColumnType("text")
692                         .HasColumnName("last_seen_user_name");
693
694                     b.Property<Guid>("UserId")
695                         .HasColumnType("uuid")
696                         .HasColumnName("user_id");
697
698                     b.HasKey("Id")
699                         .HasName("PK_player");
700
701                     b.HasAlternateKey("UserId")
702                         .HasName("ak_player_user_id");
703
704                     b.HasIndex("LastSeenUserName");
705
706                     b.HasIndex("UserId")
707                         .IsUnique();
708
709                     b.ToTable("player", null, t =>
710                         {
711                             t.HasCheckConstraint("LastSeenAddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= last_seen_address");
712                         });
713                 });
714
715             modelBuilder.Entity("Content.Server.Database.Preference", b =>
716                 {
717                     b.Property<int>("Id")
718                         .ValueGeneratedOnAdd()
719                         .HasColumnType("integer")
720                         .HasColumnName("preference_id");
721
722                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
723
724                     b.Property<string>("AdminOOCColor")
725                         .IsRequired()
726                         .HasColumnType("text")
727                         .HasColumnName("admin_ooc_color");
728
729                     b.Property<int>("SelectedCharacterSlot")
730                         .HasColumnType("integer")
731                         .HasColumnName("selected_character_slot");
732
733                     b.Property<Guid>("UserId")
734                         .HasColumnType("uuid")
735                         .HasColumnName("user_id");
736
737                     b.HasKey("Id")
738                         .HasName("PK_preference");
739
740                     b.HasIndex("UserId")
741                         .IsUnique();
742
743                     b.ToTable("preference", (string)null);
744                 });
745
746             modelBuilder.Entity("Content.Server.Database.Profile", b =>
747                 {
748                     b.Property<int>("Id")
749                         .ValueGeneratedOnAdd()
750                         .HasColumnType("integer")
751                         .HasColumnName("profile_id");
752
753                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
754
755                     b.Property<int>("Age")
756                         .HasColumnType("integer")
757                         .HasColumnName("age");
758
759                     b.Property<string>("Backpack")
760                         .IsRequired()
761                         .HasColumnType("text")
762                         .HasColumnName("backpack");
763
764                     b.Property<string>("CharacterName")
765                         .IsRequired()
766                         .HasColumnType("text")
767                         .HasColumnName("char_name");
768
769                     b.Property<string>("Clothing")
770                         .IsRequired()
771                         .HasColumnType("text")
772                         .HasColumnName("clothing");
773
774                     b.Property<string>("EyeColor")
775                         .IsRequired()
776                         .HasColumnType("text")
777                         .HasColumnName("eye_color");
778
779                     b.Property<string>("FacialHairColor")
780                         .IsRequired()
781                         .HasColumnType("text")
782                         .HasColumnName("facial_hair_color");
783
784                     b.Property<string>("FacialHairName")
785                         .IsRequired()
786                         .HasColumnType("text")
787                         .HasColumnName("facial_hair_name");
788
789                     b.Property<string>("FlavorText")
790                         .IsRequired()
791                         .HasColumnType("text")
792                         .HasColumnName("flavor_text");
793
794                     b.Property<string>("Gender")
795                         .IsRequired()
796                         .HasColumnType("text")
797                         .HasColumnName("gender");
798
799                     b.Property<string>("HairColor")
800                         .IsRequired()
801                         .HasColumnType("text")
802                         .HasColumnName("hair_color");
803
804                     b.Property<string>("HairName")
805                         .IsRequired()
806                         .HasColumnType("text")
807                         .HasColumnName("hair_name");
808
809                     b.Property<JsonDocument>("Markings")
810                         .HasColumnType("jsonb")
811                         .HasColumnName("markings");
812
813                     b.Property<int>("PreferenceId")
814                         .HasColumnType("integer")
815                         .HasColumnName("preference_id");
816
817                     b.Property<int>("PreferenceUnavailable")
818                         .HasColumnType("integer")
819                         .HasColumnName("pref_unavailable");
820
821                     b.Property<string>("Sex")
822                         .IsRequired()
823                         .HasColumnType("text")
824                         .HasColumnName("sex");
825
826                     b.Property<string>("SkinColor")
827                         .IsRequired()
828                         .HasColumnType("text")
829                         .HasColumnName("skin_color");
830
831                     b.Property<int>("Slot")
832                         .HasColumnType("integer")
833                         .HasColumnName("slot");
834
835                     b.Property<string>("Species")
836                         .IsRequired()
837                         .HasColumnType("text")
838                         .HasColumnName("species");
839
840                     b.HasKey("Id")
841                         .HasName("PK_profile");
842
843                     b.HasIndex("PreferenceId")
844                         .HasDatabaseName("IX_profile_preference_id");
845
846                     b.HasIndex("Slot", "PreferenceId")
847                         .IsUnique();
848
849                     b.ToTable("profile", (string)null);
850                 });
851
852             modelBuilder.Entity("Content.Server.Database.Round", b =>
853                 {
854                     b.Property<int>("Id")
855                         .ValueGeneratedOnAdd()
856                         .HasColumnType("integer")
857                         .HasColumnName("round_id");
858
859                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
860
861                     b.Property<int>("ServerId")
862                         .HasColumnType("integer")
863                         .HasColumnName("server_id");
864
865                     b.HasKey("Id")
866                         .HasName("PK_round");
867
868                     b.HasIndex("ServerId")
869                         .HasDatabaseName("IX_round_server_id");
870
871                     b.ToTable("round", (string)null);
872                 });
873
874             modelBuilder.Entity("Content.Server.Database.Server", b =>
875                 {
876                     b.Property<int>("Id")
877                         .ValueGeneratedOnAdd()
878                         .HasColumnType("integer")
879                         .HasColumnName("server_id");
880
881                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
882
883                     b.Property<string>("Name")
884                         .IsRequired()
885                         .HasColumnType("text")
886                         .HasColumnName("name");
887
888                     b.HasKey("Id")
889                         .HasName("PK_server");
890
891                     b.ToTable("server", (string)null);
892                 });
893
894             modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
895                 {
896                     b.Property<int>("Id")
897                         .ValueGeneratedOnAdd()
898                         .HasColumnType("integer")
899                         .HasColumnName("server_ban_id");
900
901                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
902
903                     b.Property<ValueTuple<IPAddress, int>?>("Address")
904                         .HasColumnType("inet")
905                         .HasColumnName("address");
906
907                     b.Property<bool>("AutoDelete")
908                         .HasColumnType("boolean")
909                         .HasColumnName("auto_delete");
910
911                     b.Property<DateTime>("BanTime")
912                         .HasColumnType("timestamp with time zone")
913                         .HasColumnName("ban_time");
914
915                     b.Property<Guid?>("BanningAdmin")
916                         .HasColumnType("uuid")
917                         .HasColumnName("banning_admin");
918
919                     b.Property<int>("ExemptFlags")
920                         .HasColumnType("integer")
921                         .HasColumnName("exempt_flags");
922
923                     b.Property<DateTime?>("ExpirationTime")
924                         .HasColumnType("timestamp with time zone")
925                         .HasColumnName("expiration_time");
926
927                     b.Property<byte[]>("HWId")
928                         .HasColumnType("bytea")
929                         .HasColumnName("hwid");
930
931                     b.Property<bool>("Hidden")
932                         .HasColumnType("boolean")
933                         .HasColumnName("hidden");
934
935                     b.Property<DateTime?>("LastEditedAt")
936                         .HasColumnType("timestamp with time zone")
937                         .HasColumnName("last_edited_at");
938
939                     b.Property<Guid?>("LastEditedById")
940                         .HasColumnType("uuid")
941                         .HasColumnName("last_edited_by_id");
942
943                     b.Property<Guid?>("PlayerUserId")
944                         .HasColumnType("uuid")
945                         .HasColumnName("player_user_id");
946
947                     b.Property<TimeSpan>("PlaytimeAtNote")
948                         .HasColumnType("interval")
949                         .HasColumnName("playtime_at_note");
950
951                     b.Property<string>("Reason")
952                         .IsRequired()
953                         .HasColumnType("text")
954                         .HasColumnName("reason");
955
956                     b.Property<int?>("RoundId")
957                         .HasColumnType("integer")
958                         .HasColumnName("round_id");
959
960                     b.Property<int>("Severity")
961                         .HasColumnType("integer")
962                         .HasColumnName("severity");
963
964                     b.HasKey("Id")
965                         .HasName("PK_server_ban");
966
967                     b.HasIndex("Address");
968
969                     b.HasIndex("BanningAdmin");
970
971                     b.HasIndex("LastEditedById");
972
973                     b.HasIndex("PlayerUserId")
974                         .HasDatabaseName("IX_server_ban_player_user_id");
975
976                     b.HasIndex("RoundId")
977                         .HasDatabaseName("IX_server_ban_round_id");
978
979                     b.ToTable("server_ban", null, t =>
980                         {
981                             t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
982
983                             t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL");
984                         });
985                 });
986
987             modelBuilder.Entity("Content.Server.Database.ServerBanExemption", b =>
988                 {
989                     b.Property<Guid>("UserId")
990                         .ValueGeneratedOnAdd()
991                         .HasColumnType("uuid")
992                         .HasColumnName("user_id");
993
994                     b.Property<int>("Flags")
995                         .HasColumnType("integer")
996                         .HasColumnName("flags");
997
998                     b.HasKey("UserId")
999                         .HasName("PK_server_ban_exemption");
1000
1001                     b.ToTable("server_ban_exemption", null, t =>
1002                         {
1003                             t.HasCheckConstraint("FlagsNotZero", "flags != 0");
1004                         });
1005                 });
1006
1007             modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
1008                 {
1009                     b.Property<int>("Id")
1010                         .ValueGeneratedOnAdd()
1011                         .HasColumnType("integer")
1012                         .HasColumnName("server_ban_hit_id");
1013
1014                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1015
1016                     b.Property<int>("BanId")
1017                         .HasColumnType("integer")
1018                         .HasColumnName("ban_id");
1019
1020                     b.Property<int>("ConnectionId")
1021                         .HasColumnType("integer")
1022                         .HasColumnName("connection_id");
1023
1024                     b.HasKey("Id")
1025                         .HasName("PK_server_ban_hit");
1026
1027                     b.HasIndex("BanId")
1028                         .HasDatabaseName("IX_server_ban_hit_ban_id");
1029
1030                     b.HasIndex("ConnectionId")
1031                         .HasDatabaseName("IX_server_ban_hit_connection_id");
1032
1033                     b.ToTable("server_ban_hit", (string)null);
1034                 });
1035
1036             modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
1037                 {
1038                     b.Property<int>("Id")
1039                         .ValueGeneratedOnAdd()
1040                         .HasColumnType("integer")
1041                         .HasColumnName("server_role_ban_id");
1042
1043                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1044
1045                     b.Property<ValueTuple<IPAddress, int>?>("Address")
1046                         .HasColumnType("inet")
1047                         .HasColumnName("address");
1048
1049                     b.Property<DateTime>("BanTime")
1050                         .HasColumnType("timestamp with time zone")
1051                         .HasColumnName("ban_time");
1052
1053                     b.Property<Guid?>("BanningAdmin")
1054                         .HasColumnType("uuid")
1055                         .HasColumnName("banning_admin");
1056
1057                     b.Property<DateTime?>("ExpirationTime")
1058                         .HasColumnType("timestamp with time zone")
1059                         .HasColumnName("expiration_time");
1060
1061                     b.Property<byte[]>("HWId")
1062                         .HasColumnType("bytea")
1063                         .HasColumnName("hwid");
1064
1065                     b.Property<bool>("Hidden")
1066                         .HasColumnType("boolean")
1067                         .HasColumnName("hidden");
1068
1069                     b.Property<DateTime?>("LastEditedAt")
1070                         .HasColumnType("timestamp with time zone")
1071                         .HasColumnName("last_edited_at");
1072
1073                     b.Property<Guid?>("LastEditedById")
1074                         .HasColumnType("uuid")
1075                         .HasColumnName("last_edited_by_id");
1076
1077                     b.Property<Guid?>("PlayerUserId")
1078                         .HasColumnType("uuid")
1079                         .HasColumnName("player_user_id");
1080
1081                     b.Property<TimeSpan>("PlaytimeAtNote")
1082                         .HasColumnType("interval")
1083                         .HasColumnName("playtime_at_note");
1084
1085                     b.Property<string>("Reason")
1086                         .IsRequired()
1087                         .HasColumnType("text")
1088                         .HasColumnName("reason");
1089
1090                     b.Property<string>("RoleId")
1091                         .IsRequired()
1092                         .HasColumnType("text")
1093                         .HasColumnName("role_id");
1094
1095                     b.Property<int?>("RoundId")
1096                         .HasColumnType("integer")
1097                         .HasColumnName("round_id");
1098
1099                     b.Property<int>("Severity")
1100                         .HasColumnType("integer")
1101                         .HasColumnName("severity");
1102
1103                     b.HasKey("Id")
1104                         .HasName("PK_server_role_ban");
1105
1106                     b.HasIndex("Address");
1107
1108                     b.HasIndex("BanningAdmin");
1109
1110                     b.HasIndex("LastEditedById");
1111
1112                     b.HasIndex("PlayerUserId")
1113                         .HasDatabaseName("IX_server_role_ban_player_user_id");
1114
1115                     b.HasIndex("RoundId")
1116                         .HasDatabaseName("IX_server_role_ban_round_id");
1117
1118                     b.ToTable("server_role_ban", null, t =>
1119                         {
1120                             t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
1121
1122                             t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL");
1123                         });
1124                 });
1125
1126             modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
1127                 {
1128                     b.Property<int>("Id")
1129                         .ValueGeneratedOnAdd()
1130                         .HasColumnType("integer")
1131                         .HasColumnName("role_unban_id");
1132
1133                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1134
1135                     b.Property<int>("BanId")
1136                         .HasColumnType("integer")
1137                         .HasColumnName("ban_id");
1138
1139                     b.Property<DateTime>("UnbanTime")
1140                         .HasColumnType("timestamp with time zone")
1141                         .HasColumnName("unban_time");
1142
1143                     b.Property<Guid?>("UnbanningAdmin")
1144                         .HasColumnType("uuid")
1145                         .HasColumnName("unbanning_admin");
1146
1147                     b.HasKey("Id")
1148                         .HasName("PK_server_role_unban");
1149
1150                     b.HasIndex("BanId")
1151                         .IsUnique();
1152
1153                     b.ToTable("server_role_unban", (string)null);
1154                 });
1155
1156             modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
1157                 {
1158                     b.Property<int>("Id")
1159                         .ValueGeneratedOnAdd()
1160                         .HasColumnType("integer")
1161                         .HasColumnName("unban_id");
1162
1163                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1164
1165                     b.Property<int>("BanId")
1166                         .HasColumnType("integer")
1167                         .HasColumnName("ban_id");
1168
1169                     b.Property<DateTime>("UnbanTime")
1170                         .HasColumnType("timestamp with time zone")
1171                         .HasColumnName("unban_time");
1172
1173                     b.Property<Guid?>("UnbanningAdmin")
1174                         .HasColumnType("uuid")
1175                         .HasColumnName("unbanning_admin");
1176
1177                     b.HasKey("Id")
1178                         .HasName("PK_server_unban");
1179
1180                     b.HasIndex("BanId")
1181                         .IsUnique();
1182
1183                     b.ToTable("server_unban", (string)null);
1184                 });
1185
1186             modelBuilder.Entity("Content.Server.Database.Trait", b =>
1187                 {
1188                     b.Property<int>("Id")
1189                         .ValueGeneratedOnAdd()
1190                         .HasColumnType("integer")
1191                         .HasColumnName("trait_id");
1192
1193                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1194
1195                     b.Property<int>("ProfileId")
1196                         .HasColumnType("integer")
1197                         .HasColumnName("profile_id");
1198
1199                     b.Property<string>("TraitName")
1200                         .IsRequired()
1201                         .HasColumnType("text")
1202                         .HasColumnName("trait_name");
1203
1204                     b.HasKey("Id")
1205                         .HasName("PK_trait");
1206
1207                     b.HasIndex("ProfileId", "TraitName")
1208                         .IsUnique();
1209
1210                     b.ToTable("trait", (string)null);
1211                 });
1212
1213             modelBuilder.Entity("Content.Server.Database.UploadedResourceLog", b =>
1214                 {
1215                     b.Property<int>("Id")
1216                         .ValueGeneratedOnAdd()
1217                         .HasColumnType("integer")
1218                         .HasColumnName("uploaded_resource_log_id");
1219
1220                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1221
1222                     b.Property<byte[]>("Data")
1223                         .IsRequired()
1224                         .HasColumnType("bytea")
1225                         .HasColumnName("data");
1226
1227                     b.Property<DateTime>("Date")
1228                         .HasColumnType("timestamp with time zone")
1229                         .HasColumnName("date");
1230
1231                     b.Property<string>("Path")
1232                         .IsRequired()
1233                         .HasColumnType("text")
1234                         .HasColumnName("path");
1235
1236                     b.Property<Guid>("UserId")
1237                         .HasColumnType("uuid")
1238                         .HasColumnName("user_id");
1239
1240                     b.HasKey("Id")
1241                         .HasName("PK_uploaded_resource_log");
1242
1243                     b.ToTable("uploaded_resource_log", (string)null);
1244                 });
1245
1246             modelBuilder.Entity("Content.Server.Database.Whitelist", b =>
1247                 {
1248                     b.Property<Guid>("UserId")
1249                         .ValueGeneratedOnAdd()
1250                         .HasColumnType("uuid")
1251                         .HasColumnName("user_id");
1252
1253                     b.HasKey("UserId")
1254                         .HasName("PK_whitelist");
1255
1256                     b.ToTable("whitelist", (string)null);
1257                 });
1258
1259             modelBuilder.Entity("PlayerRound", b =>
1260                 {
1261                     b.Property<int>("PlayersId")
1262                         .HasColumnType("integer")
1263                         .HasColumnName("players_id");
1264
1265                     b.Property<int>("RoundsId")
1266                         .HasColumnType("integer")
1267                         .HasColumnName("rounds_id");
1268
1269                     b.HasKey("PlayersId", "RoundsId")
1270                         .HasName("PK_player_round");
1271
1272                     b.HasIndex("RoundsId")
1273                         .HasDatabaseName("IX_player_round_rounds_id");
1274
1275                     b.ToTable("player_round", (string)null);
1276                 });
1277
1278             modelBuilder.Entity("Content.Server.Database.Admin", b =>
1279                 {
1280                     b.HasOne("Content.Server.Database.AdminRank", "AdminRank")
1281                         .WithMany("Admins")
1282                         .HasForeignKey("AdminRankId")
1283                         .OnDelete(DeleteBehavior.SetNull)
1284                         .HasConstraintName("FK_admin_admin_rank_admin_rank_id");
1285
1286                     b.Navigation("AdminRank");
1287                 });
1288
1289             modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
1290                 {
1291                     b.HasOne("Content.Server.Database.Admin", "Admin")
1292                         .WithMany("Flags")
1293                         .HasForeignKey("AdminId")
1294                         .OnDelete(DeleteBehavior.Cascade)
1295                         .IsRequired()
1296                         .HasConstraintName("FK_admin_flag_admin_admin_id");
1297
1298                     b.Navigation("Admin");
1299                 });
1300
1301             modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
1302                 {
1303                     b.HasOne("Content.Server.Database.Round", "Round")
1304                         .WithMany("AdminLogs")
1305                         .HasForeignKey("RoundId")
1306                         .OnDelete(DeleteBehavior.Cascade)
1307                         .IsRequired()
1308                         .HasConstraintName("FK_admin_log_round_round_id");
1309
1310                     b.Navigation("Round");
1311                 });
1312
1313             modelBuilder.Entity("Content.Server.Database.AdminLogEntity", b =>
1314                 {
1315                     b.HasOne("Content.Server.Database.AdminLog", null)
1316                         .WithMany("Entities")
1317                         .HasForeignKey("AdminLogId", "AdminLogRoundId")
1318                         .HasConstraintName("FK_admin_log_entity_admin_log_admin_log_id_admin_log_round_id");
1319                 });
1320
1321             modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
1322                 {
1323                     b.HasOne("Content.Server.Database.Player", "Player")
1324                         .WithMany("AdminLogs")
1325                         .HasForeignKey("PlayerUserId")
1326                         .HasPrincipalKey("UserId")
1327                         .OnDelete(DeleteBehavior.Cascade)
1328                         .IsRequired()
1329                         .HasConstraintName("FK_admin_log_player_player_player_user_id");
1330
1331                     b.HasOne("Content.Server.Database.AdminLog", "Log")
1332                         .WithMany("Players")
1333                         .HasForeignKey("LogId", "RoundId")
1334                         .OnDelete(DeleteBehavior.Cascade)
1335                         .IsRequired()
1336                         .HasConstraintName("FK_admin_log_player_admin_log_log_id_round_id");
1337
1338                     b.Navigation("Log");
1339
1340                     b.Navigation("Player");
1341                 });
1342
1343             modelBuilder.Entity("Content.Server.Database.AdminMessage", b =>
1344                 {
1345                     b.HasOne("Content.Server.Database.Player", "CreatedBy")
1346                         .WithMany("AdminMessagesCreated")
1347                         .HasForeignKey("CreatedById")
1348                         .HasPrincipalKey("UserId")
1349                         .OnDelete(DeleteBehavior.SetNull)
1350                         .HasConstraintName("FK_admin_messages_player_created_by_id");
1351
1352                     b.HasOne("Content.Server.Database.Player", "DeletedBy")
1353                         .WithMany("AdminMessagesDeleted")
1354                         .HasForeignKey("DeletedById")
1355                         .HasPrincipalKey("UserId")
1356                         .OnDelete(DeleteBehavior.SetNull)
1357                         .HasConstraintName("FK_admin_messages_player_deleted_by_id");
1358
1359                     b.HasOne("Content.Server.Database.Player", "LastEditedBy")
1360                         .WithMany("AdminMessagesLastEdited")
1361                         .HasForeignKey("LastEditedById")
1362                         .HasPrincipalKey("UserId")
1363                         .OnDelete(DeleteBehavior.SetNull)
1364                         .HasConstraintName("FK_admin_messages_player_last_edited_by_id");
1365
1366                     b.HasOne("Content.Server.Database.Player", "Player")
1367                         .WithMany("AdminMessagesReceived")
1368                         .HasForeignKey("PlayerUserId")
1369                         .HasPrincipalKey("UserId")
1370                         .OnDelete(DeleteBehavior.Cascade)
1371                         .HasConstraintName("FK_admin_messages_player_player_user_id");
1372
1373                     b.HasOne("Content.Server.Database.Round", "Round")
1374                         .WithMany()
1375                         .HasForeignKey("RoundId")
1376                         .HasConstraintName("FK_admin_messages_round_round_id");
1377
1378                     b.Navigation("CreatedBy");
1379
1380                     b.Navigation("DeletedBy");
1381
1382                     b.Navigation("LastEditedBy");
1383
1384                     b.Navigation("Player");
1385
1386                     b.Navigation("Round");
1387                 });
1388
1389             modelBuilder.Entity("Content.Server.Database.AdminNote", b =>
1390                 {
1391                     b.HasOne("Content.Server.Database.Player", "CreatedBy")
1392                         .WithMany("AdminNotesCreated")
1393                         .HasForeignKey("CreatedById")
1394                         .HasPrincipalKey("UserId")
1395                         .OnDelete(DeleteBehavior.SetNull)
1396                         .HasConstraintName("FK_admin_notes_player_created_by_id");
1397
1398                     b.HasOne("Content.Server.Database.Player", "DeletedBy")
1399                         .WithMany("AdminNotesDeleted")
1400                         .HasForeignKey("DeletedById")
1401                         .HasPrincipalKey("UserId")
1402                         .OnDelete(DeleteBehavior.SetNull)
1403                         .HasConstraintName("FK_admin_notes_player_deleted_by_id");
1404
1405                     b.HasOne("Content.Server.Database.Player", "LastEditedBy")
1406                         .WithMany("AdminNotesLastEdited")
1407                         .HasForeignKey("LastEditedById")
1408                         .HasPrincipalKey("UserId")
1409                         .OnDelete(DeleteBehavior.SetNull)
1410                         .HasConstraintName("FK_admin_notes_player_last_edited_by_id");
1411
1412                     b.HasOne("Content.Server.Database.Player", "Player")
1413                         .WithMany("AdminNotesReceived")
1414                         .HasForeignKey("PlayerUserId")
1415                         .HasPrincipalKey("UserId")
1416                         .OnDelete(DeleteBehavior.Cascade)
1417                         .HasConstraintName("FK_admin_notes_player_player_user_id");
1418
1419                     b.HasOne("Content.Server.Database.Round", "Round")
1420                         .WithMany()
1421                         .HasForeignKey("RoundId")
1422                         .HasConstraintName("FK_admin_notes_round_round_id");
1423
1424                     b.Navigation("CreatedBy");
1425
1426                     b.Navigation("DeletedBy");
1427
1428                     b.Navigation("LastEditedBy");
1429
1430                     b.Navigation("Player");
1431
1432                     b.Navigation("Round");
1433                 });
1434
1435             modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
1436                 {
1437                     b.HasOne("Content.Server.Database.AdminRank", "Rank")
1438                         .WithMany("Flags")
1439                         .HasForeignKey("AdminRankId")
1440                         .OnDelete(DeleteBehavior.Cascade)
1441                         .IsRequired()
1442                         .HasConstraintName("FK_admin_rank_flag_admin_rank_admin_rank_id");
1443
1444                     b.Navigation("Rank");
1445                 });
1446
1447             modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b =>
1448                 {
1449                     b.HasOne("Content.Server.Database.Player", "CreatedBy")
1450                         .WithMany("AdminWatchlistsCreated")
1451                         .HasForeignKey("CreatedById")
1452                         .HasPrincipalKey("UserId")
1453                         .OnDelete(DeleteBehavior.SetNull)
1454                         .HasConstraintName("FK_admin_watchlists_player_created_by_id");
1455
1456                     b.HasOne("Content.Server.Database.Player", "DeletedBy")
1457                         .WithMany("AdminWatchlistsDeleted")
1458                         .HasForeignKey("DeletedById")
1459                         .HasPrincipalKey("UserId")
1460                         .OnDelete(DeleteBehavior.SetNull)
1461                         .HasConstraintName("FK_admin_watchlists_player_deleted_by_id");
1462
1463                     b.HasOne("Content.Server.Database.Player", "LastEditedBy")
1464                         .WithMany("AdminWatchlistsLastEdited")
1465                         .HasForeignKey("LastEditedById")
1466                         .HasPrincipalKey("UserId")
1467                         .OnDelete(DeleteBehavior.SetNull)
1468                         .HasConstraintName("FK_admin_watchlists_player_last_edited_by_id");
1469
1470                     b.HasOne("Content.Server.Database.Player", "Player")
1471                         .WithMany("AdminWatchlistsReceived")
1472                         .HasForeignKey("PlayerUserId")
1473                         .HasPrincipalKey("UserId")
1474                         .OnDelete(DeleteBehavior.Cascade)
1475                         .HasConstraintName("FK_admin_watchlists_player_player_user_id");
1476
1477                     b.HasOne("Content.Server.Database.Round", "Round")
1478                         .WithMany()
1479                         .HasForeignKey("RoundId")
1480                         .HasConstraintName("FK_admin_watchlists_round_round_id");
1481
1482                     b.Navigation("CreatedBy");
1483
1484                     b.Navigation("DeletedBy");
1485
1486                     b.Navigation("LastEditedBy");
1487
1488                     b.Navigation("Player");
1489
1490                     b.Navigation("Round");
1491                 });
1492
1493             modelBuilder.Entity("Content.Server.Database.Antag", b =>
1494                 {
1495                     b.HasOne("Content.Server.Database.Profile", "Profile")
1496                         .WithMany("Antags")
1497                         .HasForeignKey("ProfileId")
1498                         .OnDelete(DeleteBehavior.Cascade)
1499                         .IsRequired()
1500                         .HasConstraintName("FK_antag_profile_profile_id");
1501
1502                     b.Navigation("Profile");
1503                 });
1504
1505             modelBuilder.Entity("Content.Server.Database.Job", b =>
1506                 {
1507                     b.HasOne("Content.Server.Database.Profile", "Profile")
1508                         .WithMany("Jobs")
1509                         .HasForeignKey("ProfileId")
1510                         .OnDelete(DeleteBehavior.Cascade)
1511                         .IsRequired()
1512                         .HasConstraintName("FK_job_profile_profile_id");
1513
1514                     b.Navigation("Profile");
1515                 });
1516
1517             modelBuilder.Entity("Content.Server.Database.Profile", b =>
1518                 {
1519                     b.HasOne("Content.Server.Database.Preference", "Preference")
1520                         .WithMany("Profiles")
1521                         .HasForeignKey("PreferenceId")
1522                         .OnDelete(DeleteBehavior.Cascade)
1523                         .IsRequired()
1524                         .HasConstraintName("FK_profile_preference_preference_id");
1525
1526                     b.Navigation("Preference");
1527                 });
1528
1529             modelBuilder.Entity("Content.Server.Database.Round", b =>
1530                 {
1531                     b.HasOne("Content.Server.Database.Server", "Server")
1532                         .WithMany("Rounds")
1533                         .HasForeignKey("ServerId")
1534                         .OnDelete(DeleteBehavior.Cascade)
1535                         .IsRequired()
1536                         .HasConstraintName("FK_round_server_server_id");
1537
1538                     b.Navigation("Server");
1539                 });
1540
1541             modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
1542                 {
1543                     b.HasOne("Content.Server.Database.Player", "CreatedBy")
1544                         .WithMany("AdminServerBansCreated")
1545                         .HasForeignKey("BanningAdmin")
1546                         .HasPrincipalKey("UserId")
1547                         .OnDelete(DeleteBehavior.SetNull)
1548                         .HasConstraintName("FK_server_ban_player_banning_admin");
1549
1550                     b.HasOne("Content.Server.Database.Player", "LastEditedBy")
1551                         .WithMany("AdminServerBansLastEdited")
1552                         .HasForeignKey("LastEditedById")
1553                         .HasPrincipalKey("UserId")
1554                         .OnDelete(DeleteBehavior.SetNull)
1555                         .HasConstraintName("FK_server_ban_player_last_edited_by_id");
1556
1557                     b.HasOne("Content.Server.Database.Round", "Round")
1558                         .WithMany()
1559                         .HasForeignKey("RoundId")
1560                         .HasConstraintName("FK_server_ban_round_round_id");
1561
1562                     b.Navigation("CreatedBy");
1563
1564                     b.Navigation("LastEditedBy");
1565
1566                     b.Navigation("Round");
1567                 });
1568
1569             modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
1570                 {
1571                     b.HasOne("Content.Server.Database.ServerBan", "Ban")
1572                         .WithMany("BanHits")
1573                         .HasForeignKey("BanId")
1574                         .OnDelete(DeleteBehavior.Cascade)
1575                         .IsRequired()
1576                         .HasConstraintName("FK_server_ban_hit_server_ban_ban_id");
1577
1578                     b.HasOne("Content.Server.Database.ConnectionLog", "Connection")
1579                         .WithMany("BanHits")
1580                         .HasForeignKey("ConnectionId")
1581                         .OnDelete(DeleteBehavior.Cascade)
1582                         .IsRequired()
1583                         .HasConstraintName("FK_server_ban_hit_connection_log_connection_id");
1584
1585                     b.Navigation("Ban");
1586
1587                     b.Navigation("Connection");
1588                 });
1589
1590             modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
1591                 {
1592                     b.HasOne("Content.Server.Database.Player", "CreatedBy")
1593                         .WithMany("AdminServerRoleBansCreated")
1594                         .HasForeignKey("BanningAdmin")
1595                         .HasPrincipalKey("UserId")
1596                         .OnDelete(DeleteBehavior.SetNull)
1597                         .HasConstraintName("FK_server_role_ban_player_banning_admin");
1598
1599                     b.HasOne("Content.Server.Database.Player", "LastEditedBy")
1600                         .WithMany("AdminServerRoleBansLastEdited")
1601                         .HasForeignKey("LastEditedById")
1602                         .HasPrincipalKey("UserId")
1603                         .OnDelete(DeleteBehavior.SetNull)
1604                         .HasConstraintName("FK_server_role_ban_player_last_edited_by_id");
1605
1606                     b.HasOne("Content.Server.Database.Round", "Round")
1607                         .WithMany()
1608                         .HasForeignKey("RoundId")
1609                         .HasConstraintName("FK_server_role_ban_round_round_id");
1610
1611                     b.Navigation("CreatedBy");
1612
1613                     b.Navigation("LastEditedBy");
1614
1615                     b.Navigation("Round");
1616                 });
1617
1618             modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
1619                 {
1620                     b.HasOne("Content.Server.Database.ServerRoleBan", "Ban")
1621                         .WithOne("Unban")
1622                         .HasForeignKey("Content.Server.Database.ServerRoleUnban", "BanId")
1623                         .OnDelete(DeleteBehavior.Cascade)
1624                         .IsRequired()
1625                         .HasConstraintName("FK_server_role_unban_server_role_ban_ban_id");
1626
1627                     b.Navigation("Ban");
1628                 });
1629
1630             modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
1631                 {
1632                     b.HasOne("Content.Server.Database.ServerBan", "Ban")
1633                         .WithOne("Unban")
1634                         .HasForeignKey("Content.Server.Database.ServerUnban", "BanId")
1635                         .OnDelete(DeleteBehavior.Cascade)
1636                         .IsRequired()
1637                         .HasConstraintName("FK_server_unban_server_ban_ban_id");
1638
1639                     b.Navigation("Ban");
1640                 });
1641
1642             modelBuilder.Entity("Content.Server.Database.Trait", b =>
1643                 {
1644                     b.HasOne("Content.Server.Database.Profile", "Profile")
1645                         .WithMany("Traits")
1646                         .HasForeignKey("ProfileId")
1647                         .OnDelete(DeleteBehavior.Cascade)
1648                         .IsRequired()
1649                         .HasConstraintName("FK_trait_profile_profile_id");
1650
1651                     b.Navigation("Profile");
1652                 });
1653
1654             modelBuilder.Entity("PlayerRound", b =>
1655                 {
1656                     b.HasOne("Content.Server.Database.Player", null)
1657                         .WithMany()
1658                         .HasForeignKey("PlayersId")
1659                         .OnDelete(DeleteBehavior.Cascade)
1660                         .IsRequired()
1661                         .HasConstraintName("FK_player_round_player_players_id");
1662
1663                     b.HasOne("Content.Server.Database.Round", null)
1664                         .WithMany()
1665                         .HasForeignKey("RoundsId")
1666                         .OnDelete(DeleteBehavior.Cascade)
1667                         .IsRequired()
1668                         .HasConstraintName("FK_player_round_round_rounds_id");
1669                 });
1670
1671             modelBuilder.Entity("Content.Server.Database.Admin", b =>
1672                 {
1673                     b.Navigation("Flags");
1674                 });
1675
1676             modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
1677                 {
1678                     b.Navigation("Entities");
1679
1680                     b.Navigation("Players");
1681                 });
1682
1683             modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
1684                 {
1685                     b.Navigation("Admins");
1686
1687                     b.Navigation("Flags");
1688                 });
1689
1690             modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
1691                 {
1692                     b.Navigation("BanHits");
1693                 });
1694
1695             modelBuilder.Entity("Content.Server.Database.Player", b =>
1696                 {
1697                     b.Navigation("AdminLogs");
1698
1699                     b.Navigation("AdminMessagesCreated");
1700
1701                     b.Navigation("AdminMessagesDeleted");
1702
1703                     b.Navigation("AdminMessagesLastEdited");
1704
1705                     b.Navigation("AdminMessagesReceived");
1706
1707                     b.Navigation("AdminNotesCreated");
1708
1709                     b.Navigation("AdminNotesDeleted");
1710
1711                     b.Navigation("AdminNotesLastEdited");
1712
1713                     b.Navigation("AdminNotesReceived");
1714
1715                     b.Navigation("AdminServerBansCreated");
1716
1717                     b.Navigation("AdminServerBansLastEdited");
1718
1719                     b.Navigation("AdminServerRoleBansCreated");
1720
1721                     b.Navigation("AdminServerRoleBansLastEdited");
1722
1723                     b.Navigation("AdminWatchlistsCreated");
1724
1725                     b.Navigation("AdminWatchlistsDeleted");
1726
1727                     b.Navigation("AdminWatchlistsLastEdited");
1728
1729                     b.Navigation("AdminWatchlistsReceived");
1730                 });
1731
1732             modelBuilder.Entity("Content.Server.Database.Preference", b =>
1733                 {
1734                     b.Navigation("Profiles");
1735                 });
1736
1737             modelBuilder.Entity("Content.Server.Database.Profile", b =>
1738                 {
1739                     b.Navigation("Antags");
1740
1741                     b.Navigation("Jobs");
1742
1743                     b.Navigation("Traits");
1744                 });
1745
1746             modelBuilder.Entity("Content.Server.Database.Round", b =>
1747                 {
1748                     b.Navigation("AdminLogs");
1749                 });
1750
1751             modelBuilder.Entity("Content.Server.Database.Server", b =>
1752                 {
1753                     b.Navigation("Rounds");
1754                 });
1755
1756             modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
1757                 {
1758                     b.Navigation("BanHits");
1759
1760                     b.Navigation("Unban");
1761                 });
1762
1763             modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
1764                 {
1765                     b.Navigation("Unban");
1766                 });
1767 #pragma warning restore 612, 618
1768         }
1769     }
1770 }