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