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;
14 namespace Content.Server.Database.Migrations.Postgres
16 [DbContext(typeof(PostgresServerDbContext))]
17 [Migration("20230725193102_AdminNotesImprovementsForeignKeys")]
18 partial class AdminNotesImprovementsForeignKeys
22 protected override void BuildTargetModel(ModelBuilder modelBuilder)
24 #pragma warning disable 612, 618
26 .HasAnnotation("ProductVersion", "7.0.4")
27 .HasAnnotation("Relational:MaxIdentifierLength", 63);
29 NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
31 modelBuilder.Entity("Content.Server.Database.Admin", b =>
33 b.Property<Guid>("UserId")
34 .ValueGeneratedOnAdd()
35 .HasColumnType("uuid")
36 .HasColumnName("user_id");
38 b.Property<int?>("AdminRankId")
39 .HasColumnType("integer")
40 .HasColumnName("admin_rank_id");
42 b.Property<string>("Title")
43 .HasColumnType("text")
44 .HasColumnName("title");
49 b.HasIndex("AdminRankId")
50 .HasDatabaseName("IX_admin_admin_rank_id");
52 b.ToTable("admin", (string)null);
55 modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
58 .ValueGeneratedOnAdd()
59 .HasColumnType("integer")
60 .HasColumnName("admin_flag_id");
62 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
64 b.Property<Guid>("AdminId")
65 .HasColumnType("uuid")
66 .HasColumnName("admin_id");
68 b.Property<string>("Flag")
70 .HasColumnType("text")
71 .HasColumnName("flag");
73 b.Property<bool>("Negative")
74 .HasColumnType("boolean")
75 .HasColumnName("negative");
78 .HasName("PK_admin_flag");
81 .HasDatabaseName("IX_admin_flag_admin_id");
83 b.HasIndex("Flag", "AdminId")
86 b.ToTable("admin_flag", (string)null);
89 modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
92 .ValueGeneratedOnAdd()
93 .HasColumnType("integer")
94 .HasColumnName("admin_log_id");
96 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
98 b.Property<int>("RoundId")
99 .HasColumnType("integer")
100 .HasColumnName("round_id");
102 b.Property<DateTime>("Date")
103 .HasColumnType("timestamp with time zone")
104 .HasColumnName("date");
106 b.Property<short>("Impact")
107 .HasColumnType("smallint")
108 .HasColumnName("impact");
110 b.Property<JsonDocument>("Json")
112 .HasColumnType("jsonb")
113 .HasColumnName("json");
115 b.Property<string>("Message")
117 .HasColumnType("text")
118 .HasColumnName("message");
120 b.Property<int>("Type")
121 .HasColumnType("integer")
122 .HasColumnName("type");
124 b.HasKey("Id", "RoundId")
125 .HasName("PK_admin_log");
129 b.HasIndex("Message")
130 .HasAnnotation("Npgsql:TsVectorConfig", "english");
132 NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex("Message"), "GIN");
134 b.HasIndex("RoundId")
135 .HasDatabaseName("IX_admin_log_round_id");
138 .HasDatabaseName("IX_admin_log_type");
140 b.ToTable("admin_log", (string)null);
143 modelBuilder.Entity("Content.Server.Database.AdminLogEntity", b =>
145 b.Property<int>("Uid")
146 .ValueGeneratedOnAdd()
147 .HasColumnType("integer")
148 .HasColumnName("uid");
150 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Uid"));
152 b.Property<int?>("AdminLogId")
153 .HasColumnType("integer")
154 .HasColumnName("admin_log_id");
156 b.Property<int?>("AdminLogRoundId")
157 .HasColumnType("integer")
158 .HasColumnName("admin_log_round_id");
160 b.Property<string>("Name")
161 .HasColumnType("text")
162 .HasColumnName("name");
165 .HasName("PK_admin_log_entity");
167 b.HasIndex("AdminLogId", "AdminLogRoundId")
168 .HasDatabaseName("IX_admin_log_entity_admin_log_id_admin_log_round_id");
170 b.ToTable("admin_log_entity", (string)null);
173 modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
175 b.Property<Guid>("PlayerUserId")
176 .HasColumnType("uuid")
177 .HasColumnName("player_user_id");
179 b.Property<int>("LogId")
180 .HasColumnType("integer")
181 .HasColumnName("log_id");
183 b.Property<int>("RoundId")
184 .HasColumnType("integer")
185 .HasColumnName("round_id");
187 b.HasKey("PlayerUserId", "LogId", "RoundId")
188 .HasName("PK_admin_log_player");
190 b.HasIndex("LogId", "RoundId");
192 b.ToTable("admin_log_player", (string)null);
195 modelBuilder.Entity("Content.Server.Database.AdminMessage", b =>
197 b.Property<int>("Id")
198 .ValueGeneratedOnAdd()
199 .HasColumnType("integer")
200 .HasColumnName("admin_messages_id");
202 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
204 b.Property<DateTime>("CreatedAt")
205 .HasColumnType("timestamp with time zone")
206 .HasColumnName("created_at");
208 b.Property<Guid?>("CreatedById")
209 .HasColumnType("uuid")
210 .HasColumnName("created_by_id");
212 b.Property<bool>("Deleted")
213 .HasColumnType("boolean")
214 .HasColumnName("deleted");
216 b.Property<DateTime?>("DeletedAt")
217 .HasColumnType("timestamp with time zone")
218 .HasColumnName("deleted_at");
220 b.Property<Guid?>("DeletedById")
221 .HasColumnType("uuid")
222 .HasColumnName("deleted_by_id");
224 b.Property<DateTime?>("ExpirationTime")
225 .HasColumnType("timestamp with time zone")
226 .HasColumnName("expiration_time");
228 b.Property<DateTime?>("LastEditedAt")
229 .HasColumnType("timestamp with time zone")
230 .HasColumnName("last_edited_at");
232 b.Property<Guid?>("LastEditedById")
233 .HasColumnType("uuid")
234 .HasColumnName("last_edited_by_id");
236 b.Property<string>("Message")
239 .HasColumnType("character varying(4096)")
240 .HasColumnName("message");
242 b.Property<Guid?>("PlayerUserId")
243 .HasColumnType("uuid")
244 .HasColumnName("player_user_id");
246 b.Property<TimeSpan>("PlaytimeAtNote")
247 .HasColumnType("interval")
248 .HasColumnName("playtime_at_note");
250 b.Property<int?>("RoundId")
251 .HasColumnType("integer")
252 .HasColumnName("round_id");
254 b.Property<bool>("Seen")
255 .HasColumnType("boolean")
256 .HasColumnName("seen");
259 .HasName("PK_admin_messages");
261 b.HasIndex("CreatedById");
263 b.HasIndex("DeletedById");
265 b.HasIndex("LastEditedById");
267 b.HasIndex("PlayerUserId")
268 .HasDatabaseName("IX_admin_messages_player_user_id");
270 b.HasIndex("RoundId")
271 .HasDatabaseName("IX_admin_messages_round_id");
273 b.ToTable("admin_messages", (string)null);
276 modelBuilder.Entity("Content.Server.Database.AdminNote", b =>
278 b.Property<int>("Id")
279 .ValueGeneratedOnAdd()
280 .HasColumnType("integer")
281 .HasColumnName("admin_notes_id");
283 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
285 b.Property<DateTime>("CreatedAt")
286 .HasColumnType("timestamp with time zone")
287 .HasColumnName("created_at");
289 b.Property<Guid?>("CreatedById")
290 .HasColumnType("uuid")
291 .HasColumnName("created_by_id");
293 b.Property<bool>("Deleted")
294 .HasColumnType("boolean")
295 .HasColumnName("deleted");
297 b.Property<DateTime?>("DeletedAt")
298 .HasColumnType("timestamp with time zone")
299 .HasColumnName("deleted_at");
301 b.Property<Guid?>("DeletedById")
302 .HasColumnType("uuid")
303 .HasColumnName("deleted_by_id");
305 b.Property<DateTime?>("ExpirationTime")
306 .HasColumnType("timestamp with time zone")
307 .HasColumnName("expiration_time");
309 b.Property<DateTime?>("LastEditedAt")
311 .HasColumnType("timestamp with time zone")
312 .HasColumnName("last_edited_at");
314 b.Property<Guid?>("LastEditedById")
315 .HasColumnType("uuid")
316 .HasColumnName("last_edited_by_id");
318 b.Property<string>("Message")
321 .HasColumnType("character varying(4096)")
322 .HasColumnName("message");
324 b.Property<Guid?>("PlayerUserId")
325 .HasColumnType("uuid")
326 .HasColumnName("player_user_id");
328 b.Property<TimeSpan>("PlaytimeAtNote")
329 .HasColumnType("interval")
330 .HasColumnName("playtime_at_note");
332 b.Property<int?>("RoundId")
333 .HasColumnType("integer")
334 .HasColumnName("round_id");
336 b.Property<bool>("Secret")
337 .HasColumnType("boolean")
338 .HasColumnName("secret");
340 b.Property<int>("Severity")
341 .HasColumnType("integer")
342 .HasColumnName("severity");
345 .HasName("PK_admin_notes");
347 b.HasIndex("CreatedById");
349 b.HasIndex("DeletedById");
351 b.HasIndex("LastEditedById");
353 b.HasIndex("PlayerUserId")
354 .HasDatabaseName("IX_admin_notes_player_user_id");
356 b.HasIndex("RoundId")
357 .HasDatabaseName("IX_admin_notes_round_id");
359 b.ToTable("admin_notes", (string)null);
362 modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
364 b.Property<int>("Id")
365 .ValueGeneratedOnAdd()
366 .HasColumnType("integer")
367 .HasColumnName("admin_rank_id");
369 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
371 b.Property<string>("Name")
373 .HasColumnType("text")
374 .HasColumnName("name");
377 .HasName("PK_admin_rank");
379 b.ToTable("admin_rank", (string)null);
382 modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
384 b.Property<int>("Id")
385 .ValueGeneratedOnAdd()
386 .HasColumnType("integer")
387 .HasColumnName("admin_rank_flag_id");
389 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
391 b.Property<int>("AdminRankId")
392 .HasColumnType("integer")
393 .HasColumnName("admin_rank_id");
395 b.Property<string>("Flag")
397 .HasColumnType("text")
398 .HasColumnName("flag");
401 .HasName("PK_admin_rank_flag");
403 b.HasIndex("AdminRankId");
405 b.HasIndex("Flag", "AdminRankId")
408 b.ToTable("admin_rank_flag", (string)null);
411 modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b =>
413 b.Property<int>("Id")
414 .ValueGeneratedOnAdd()
415 .HasColumnType("integer")
416 .HasColumnName("admin_watchlists_id");
418 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
420 b.Property<DateTime>("CreatedAt")
421 .HasColumnType("timestamp with time zone")
422 .HasColumnName("created_at");
424 b.Property<Guid?>("CreatedById")
425 .HasColumnType("uuid")
426 .HasColumnName("created_by_id");
428 b.Property<bool>("Deleted")
429 .HasColumnType("boolean")
430 .HasColumnName("deleted");
432 b.Property<DateTime?>("DeletedAt")
433 .HasColumnType("timestamp with time zone")
434 .HasColumnName("deleted_at");
436 b.Property<Guid?>("DeletedById")
437 .HasColumnType("uuid")
438 .HasColumnName("deleted_by_id");
440 b.Property<DateTime?>("ExpirationTime")
441 .HasColumnType("timestamp with time zone")
442 .HasColumnName("expiration_time");
444 b.Property<DateTime?>("LastEditedAt")
446 .HasColumnType("timestamp with time zone")
447 .HasColumnName("last_edited_at");
449 b.Property<Guid?>("LastEditedById")
450 .HasColumnType("uuid")
451 .HasColumnName("last_edited_by_id");
453 b.Property<string>("Message")
456 .HasColumnType("character varying(4096)")
457 .HasColumnName("message");
459 b.Property<Guid?>("PlayerUserId")
460 .HasColumnType("uuid")
461 .HasColumnName("player_user_id");
463 b.Property<TimeSpan>("PlaytimeAtNote")
464 .HasColumnType("interval")
465 .HasColumnName("playtime_at_note");
467 b.Property<int?>("RoundId")
468 .HasColumnType("integer")
469 .HasColumnName("round_id");
472 .HasName("PK_admin_watchlists");
474 b.HasIndex("CreatedById");
476 b.HasIndex("DeletedById");
478 b.HasIndex("LastEditedById");
480 b.HasIndex("PlayerUserId")
481 .HasDatabaseName("IX_admin_watchlists_player_user_id");
483 b.HasIndex("RoundId")
484 .HasDatabaseName("IX_admin_watchlists_round_id");
486 b.ToTable("admin_watchlists", (string)null);
489 modelBuilder.Entity("Content.Server.Database.Antag", b =>
491 b.Property<int>("Id")
492 .ValueGeneratedOnAdd()
493 .HasColumnType("integer")
494 .HasColumnName("antag_id");
496 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
498 b.Property<string>("AntagName")
500 .HasColumnType("text")
501 .HasColumnName("antag_name");
503 b.Property<int>("ProfileId")
504 .HasColumnType("integer")
505 .HasColumnName("profile_id");
508 .HasName("PK_antag");
510 b.HasIndex("ProfileId", "AntagName")
513 b.ToTable("antag", (string)null);
516 modelBuilder.Entity("Content.Server.Database.AssignedUserId", b =>
518 b.Property<int>("Id")
519 .ValueGeneratedOnAdd()
520 .HasColumnType("integer")
521 .HasColumnName("assigned_user_id_id");
523 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
525 b.Property<Guid>("UserId")
526 .HasColumnType("uuid")
527 .HasColumnName("user_id");
529 b.Property<string>("UserName")
531 .HasColumnType("text")
532 .HasColumnName("user_name");
535 .HasName("PK_assigned_user_id");
540 b.HasIndex("UserName")
543 b.ToTable("assigned_user_id", (string)null);
546 modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
548 b.Property<int>("Id")
549 .ValueGeneratedOnAdd()
550 .HasColumnType("integer")
551 .HasColumnName("connection_log_id");
553 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
555 b.Property<IPAddress>("Address")
557 .HasColumnType("inet")
558 .HasColumnName("address");
560 b.Property<byte?>("Denied")
561 .HasColumnType("smallint")
562 .HasColumnName("denied");
564 b.Property<byte[]>("HWId")
565 .HasColumnType("bytea")
566 .HasColumnName("hwid");
568 b.Property<DateTime>("Time")
569 .HasColumnType("timestamp with time zone")
570 .HasColumnName("time");
572 b.Property<Guid>("UserId")
573 .HasColumnType("uuid")
574 .HasColumnName("user_id");
576 b.Property<string>("UserName")
578 .HasColumnType("text")
579 .HasColumnName("user_name");
582 .HasName("PK_connection_log");
584 b.HasIndex("UserId");
586 b.ToTable("connection_log", null, t =>
588 t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
592 modelBuilder.Entity("Content.Server.Database.Job", b =>
594 b.Property<int>("Id")
595 .ValueGeneratedOnAdd()
596 .HasColumnType("integer")
597 .HasColumnName("job_id");
599 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
601 b.Property<string>("JobName")
603 .HasColumnType("text")
604 .HasColumnName("job_name");
606 b.Property<int>("Priority")
607 .HasColumnType("integer")
608 .HasColumnName("priority");
610 b.Property<int>("ProfileId")
611 .HasColumnType("integer")
612 .HasColumnName("profile_id");
617 b.HasIndex("ProfileId");
619 b.HasIndex("ProfileId", "JobName")
622 b.HasIndex(new[] { "ProfileId" }, "IX_job_one_high_priority")
624 .HasFilter("priority = 3");
626 b.ToTable("job", (string)null);
629 modelBuilder.Entity("Content.Server.Database.PlayTime", b =>
631 b.Property<int>("Id")
632 .ValueGeneratedOnAdd()
633 .HasColumnType("integer")
634 .HasColumnName("play_time_id");
636 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
638 b.Property<Guid>("PlayerId")
639 .HasColumnType("uuid")
640 .HasColumnName("player_id");
642 b.Property<TimeSpan>("TimeSpent")
643 .HasColumnType("interval")
644 .HasColumnName("time_spent");
646 b.Property<string>("Tracker")
648 .HasColumnType("text")
649 .HasColumnName("tracker");
652 .HasName("PK_play_time");
654 b.HasIndex("PlayerId", "Tracker")
657 b.ToTable("play_time", (string)null);
660 modelBuilder.Entity("Content.Server.Database.Player", b =>
662 b.Property<int>("Id")
663 .ValueGeneratedOnAdd()
664 .HasColumnType("integer")
665 .HasColumnName("player_id");
667 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
669 b.Property<DateTime>("FirstSeenTime")
670 .HasColumnType("timestamp with time zone")
671 .HasColumnName("first_seen_time");
673 b.Property<DateTime?>("LastReadRules")
674 .HasColumnType("timestamp with time zone")
675 .HasColumnName("last_read_rules");
677 b.Property<IPAddress>("LastSeenAddress")
679 .HasColumnType("inet")
680 .HasColumnName("last_seen_address");
682 b.Property<byte[]>("LastSeenHWId")
683 .HasColumnType("bytea")
684 .HasColumnName("last_seen_hwid");
686 b.Property<DateTime>("LastSeenTime")
687 .HasColumnType("timestamp with time zone")
688 .HasColumnName("last_seen_time");
690 b.Property<string>("LastSeenUserName")
692 .HasColumnType("text")
693 .HasColumnName("last_seen_user_name");
695 b.Property<Guid>("UserId")
696 .HasColumnType("uuid")
697 .HasColumnName("user_id");
700 .HasName("PK_player");
702 b.HasAlternateKey("UserId")
703 .HasName("ak_player_user_id");
705 b.HasIndex("LastSeenUserName");
710 b.ToTable("player", null, t =>
712 t.HasCheckConstraint("LastSeenAddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= last_seen_address");
716 modelBuilder.Entity("Content.Server.Database.Preference", b =>
718 b.Property<int>("Id")
719 .ValueGeneratedOnAdd()
720 .HasColumnType("integer")
721 .HasColumnName("preference_id");
723 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
725 b.Property<string>("AdminOOCColor")
727 .HasColumnType("text")
728 .HasColumnName("admin_ooc_color");
730 b.Property<int>("SelectedCharacterSlot")
731 .HasColumnType("integer")
732 .HasColumnName("selected_character_slot");
734 b.Property<Guid>("UserId")
735 .HasColumnType("uuid")
736 .HasColumnName("user_id");
739 .HasName("PK_preference");
744 b.ToTable("preference", (string)null);
747 modelBuilder.Entity("Content.Server.Database.Profile", b =>
749 b.Property<int>("Id")
750 .ValueGeneratedOnAdd()
751 .HasColumnType("integer")
752 .HasColumnName("profile_id");
754 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
756 b.Property<int>("Age")
757 .HasColumnType("integer")
758 .HasColumnName("age");
760 b.Property<string>("Backpack")
762 .HasColumnType("text")
763 .HasColumnName("backpack");
765 b.Property<string>("CharacterName")
767 .HasColumnType("text")
768 .HasColumnName("char_name");
770 b.Property<string>("Clothing")
772 .HasColumnType("text")
773 .HasColumnName("clothing");
775 b.Property<string>("EyeColor")
777 .HasColumnType("text")
778 .HasColumnName("eye_color");
780 b.Property<string>("FacialHairColor")
782 .HasColumnType("text")
783 .HasColumnName("facial_hair_color");
785 b.Property<string>("FacialHairName")
787 .HasColumnType("text")
788 .HasColumnName("facial_hair_name");
790 b.Property<string>("FlavorText")
792 .HasColumnType("text")
793 .HasColumnName("flavor_text");
795 b.Property<string>("Gender")
797 .HasColumnType("text")
798 .HasColumnName("gender");
800 b.Property<string>("HairColor")
802 .HasColumnType("text")
803 .HasColumnName("hair_color");
805 b.Property<string>("HairName")
807 .HasColumnType("text")
808 .HasColumnName("hair_name");
810 b.Property<JsonDocument>("Markings")
811 .HasColumnType("jsonb")
812 .HasColumnName("markings");
814 b.Property<int>("PreferenceId")
815 .HasColumnType("integer")
816 .HasColumnName("preference_id");
818 b.Property<int>("PreferenceUnavailable")
819 .HasColumnType("integer")
820 .HasColumnName("pref_unavailable");
822 b.Property<string>("Sex")
824 .HasColumnType("text")
825 .HasColumnName("sex");
827 b.Property<string>("SkinColor")
829 .HasColumnType("text")
830 .HasColumnName("skin_color");
832 b.Property<int>("Slot")
833 .HasColumnType("integer")
834 .HasColumnName("slot");
836 b.Property<string>("Species")
838 .HasColumnType("text")
839 .HasColumnName("species");
842 .HasName("PK_profile");
844 b.HasIndex("PreferenceId")
845 .HasDatabaseName("IX_profile_preference_id");
847 b.HasIndex("Slot", "PreferenceId")
850 b.ToTable("profile", (string)null);
853 modelBuilder.Entity("Content.Server.Database.Round", b =>
855 b.Property<int>("Id")
856 .ValueGeneratedOnAdd()
857 .HasColumnType("integer")
858 .HasColumnName("round_id");
860 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
862 b.Property<int>("ServerId")
863 .HasColumnType("integer")
864 .HasColumnName("server_id");
867 .HasName("PK_round");
869 b.HasIndex("ServerId")
870 .HasDatabaseName("IX_round_server_id");
872 b.ToTable("round", (string)null);
875 modelBuilder.Entity("Content.Server.Database.Server", b =>
877 b.Property<int>("Id")
878 .ValueGeneratedOnAdd()
879 .HasColumnType("integer")
880 .HasColumnName("server_id");
882 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
884 b.Property<string>("Name")
886 .HasColumnType("text")
887 .HasColumnName("name");
890 .HasName("PK_server");
892 b.ToTable("server", (string)null);
895 modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
897 b.Property<int>("Id")
898 .ValueGeneratedOnAdd()
899 .HasColumnType("integer")
900 .HasColumnName("server_ban_id");
902 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
904 b.Property<ValueTuple<IPAddress, int>?>("Address")
905 .HasColumnType("inet")
906 .HasColumnName("address");
908 b.Property<bool>("AutoDelete")
909 .HasColumnType("boolean")
910 .HasColumnName("auto_delete");
912 b.Property<DateTime>("BanTime")
913 .HasColumnType("timestamp with time zone")
914 .HasColumnName("ban_time");
916 b.Property<Guid?>("BanningAdmin")
917 .HasColumnType("uuid")
918 .HasColumnName("banning_admin");
920 b.Property<int>("ExemptFlags")
921 .HasColumnType("integer")
922 .HasColumnName("exempt_flags");
924 b.Property<DateTime?>("ExpirationTime")
925 .HasColumnType("timestamp with time zone")
926 .HasColumnName("expiration_time");
928 b.Property<byte[]>("HWId")
929 .HasColumnType("bytea")
930 .HasColumnName("hwid");
932 b.Property<bool>("Hidden")
933 .HasColumnType("boolean")
934 .HasColumnName("hidden");
936 b.Property<DateTime?>("LastEditedAt")
937 .HasColumnType("timestamp with time zone")
938 .HasColumnName("last_edited_at");
940 b.Property<Guid?>("LastEditedById")
941 .HasColumnType("uuid")
942 .HasColumnName("last_edited_by_id");
944 b.Property<Guid?>("PlayerUserId")
945 .HasColumnType("uuid")
946 .HasColumnName("player_user_id");
948 b.Property<TimeSpan>("PlaytimeAtNote")
949 .HasColumnType("interval")
950 .HasColumnName("playtime_at_note");
952 b.Property<string>("Reason")
954 .HasColumnType("text")
955 .HasColumnName("reason");
957 b.Property<int?>("RoundId")
958 .HasColumnType("integer")
959 .HasColumnName("round_id");
961 b.Property<int>("Severity")
962 .HasColumnType("integer")
963 .HasColumnName("severity");
966 .HasName("PK_server_ban");
968 b.HasIndex("Address");
970 b.HasIndex("BanningAdmin");
972 b.HasIndex("LastEditedById");
974 b.HasIndex("PlayerUserId")
975 .HasDatabaseName("IX_server_ban_player_user_id");
977 b.HasIndex("RoundId")
978 .HasDatabaseName("IX_server_ban_round_id");
980 b.ToTable("server_ban", null, t =>
982 t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
984 t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL");
988 modelBuilder.Entity("Content.Server.Database.ServerBanExemption", b =>
990 b.Property<Guid>("UserId")
991 .ValueGeneratedOnAdd()
992 .HasColumnType("uuid")
993 .HasColumnName("user_id");
995 b.Property<int>("Flags")
996 .HasColumnType("integer")
997 .HasColumnName("flags");
1000 .HasName("PK_server_ban_exemption");
1002 b.ToTable("server_ban_exemption", null, t =>
1004 t.HasCheckConstraint("FlagsNotZero", "flags != 0");
1008 modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
1010 b.Property<int>("Id")
1011 .ValueGeneratedOnAdd()
1012 .HasColumnType("integer")
1013 .HasColumnName("server_ban_hit_id");
1015 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1017 b.Property<int>("BanId")
1018 .HasColumnType("integer")
1019 .HasColumnName("ban_id");
1021 b.Property<int>("ConnectionId")
1022 .HasColumnType("integer")
1023 .HasColumnName("connection_id");
1026 .HasName("PK_server_ban_hit");
1029 .HasDatabaseName("IX_server_ban_hit_ban_id");
1031 b.HasIndex("ConnectionId")
1032 .HasDatabaseName("IX_server_ban_hit_connection_id");
1034 b.ToTable("server_ban_hit", (string)null);
1037 modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
1039 b.Property<int>("Id")
1040 .ValueGeneratedOnAdd()
1041 .HasColumnType("integer")
1042 .HasColumnName("server_role_ban_id");
1044 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1046 b.Property<ValueTuple<IPAddress, int>?>("Address")
1047 .HasColumnType("inet")
1048 .HasColumnName("address");
1050 b.Property<DateTime>("BanTime")
1051 .HasColumnType("timestamp with time zone")
1052 .HasColumnName("ban_time");
1054 b.Property<Guid?>("BanningAdmin")
1055 .HasColumnType("uuid")
1056 .HasColumnName("banning_admin");
1058 b.Property<DateTime?>("ExpirationTime")
1059 .HasColumnType("timestamp with time zone")
1060 .HasColumnName("expiration_time");
1062 b.Property<byte[]>("HWId")
1063 .HasColumnType("bytea")
1064 .HasColumnName("hwid");
1066 b.Property<bool>("Hidden")
1067 .HasColumnType("boolean")
1068 .HasColumnName("hidden");
1070 b.Property<DateTime?>("LastEditedAt")
1071 .HasColumnType("timestamp with time zone")
1072 .HasColumnName("last_edited_at");
1074 b.Property<Guid?>("LastEditedById")
1075 .HasColumnType("uuid")
1076 .HasColumnName("last_edited_by_id");
1078 b.Property<Guid?>("PlayerUserId")
1079 .HasColumnType("uuid")
1080 .HasColumnName("player_user_id");
1082 b.Property<TimeSpan>("PlaytimeAtNote")
1083 .HasColumnType("interval")
1084 .HasColumnName("playtime_at_note");
1086 b.Property<string>("Reason")
1088 .HasColumnType("text")
1089 .HasColumnName("reason");
1091 b.Property<string>("RoleId")
1093 .HasColumnType("text")
1094 .HasColumnName("role_id");
1096 b.Property<int?>("RoundId")
1097 .HasColumnType("integer")
1098 .HasColumnName("round_id");
1100 b.Property<int>("Severity")
1101 .HasColumnType("integer")
1102 .HasColumnName("severity");
1105 .HasName("PK_server_role_ban");
1107 b.HasIndex("Address");
1109 b.HasIndex("BanningAdmin");
1111 b.HasIndex("LastEditedById");
1113 b.HasIndex("PlayerUserId")
1114 .HasDatabaseName("IX_server_role_ban_player_user_id");
1116 b.HasIndex("RoundId")
1117 .HasDatabaseName("IX_server_role_ban_round_id");
1119 b.ToTable("server_role_ban", null, t =>
1121 t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
1123 t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL");
1127 modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
1129 b.Property<int>("Id")
1130 .ValueGeneratedOnAdd()
1131 .HasColumnType("integer")
1132 .HasColumnName("role_unban_id");
1134 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1136 b.Property<int>("BanId")
1137 .HasColumnType("integer")
1138 .HasColumnName("ban_id");
1140 b.Property<DateTime>("UnbanTime")
1141 .HasColumnType("timestamp with time zone")
1142 .HasColumnName("unban_time");
1144 b.Property<Guid?>("UnbanningAdmin")
1145 .HasColumnType("uuid")
1146 .HasColumnName("unbanning_admin");
1149 .HasName("PK_server_role_unban");
1154 b.ToTable("server_role_unban", (string)null);
1157 modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
1159 b.Property<int>("Id")
1160 .ValueGeneratedOnAdd()
1161 .HasColumnType("integer")
1162 .HasColumnName("unban_id");
1164 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1166 b.Property<int>("BanId")
1167 .HasColumnType("integer")
1168 .HasColumnName("ban_id");
1170 b.Property<DateTime>("UnbanTime")
1171 .HasColumnType("timestamp with time zone")
1172 .HasColumnName("unban_time");
1174 b.Property<Guid?>("UnbanningAdmin")
1175 .HasColumnType("uuid")
1176 .HasColumnName("unbanning_admin");
1179 .HasName("PK_server_unban");
1184 b.ToTable("server_unban", (string)null);
1187 modelBuilder.Entity("Content.Server.Database.Trait", b =>
1189 b.Property<int>("Id")
1190 .ValueGeneratedOnAdd()
1191 .HasColumnType("integer")
1192 .HasColumnName("trait_id");
1194 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1196 b.Property<int>("ProfileId")
1197 .HasColumnType("integer")
1198 .HasColumnName("profile_id");
1200 b.Property<string>("TraitName")
1202 .HasColumnType("text")
1203 .HasColumnName("trait_name");
1206 .HasName("PK_trait");
1208 b.HasIndex("ProfileId", "TraitName")
1211 b.ToTable("trait", (string)null);
1214 modelBuilder.Entity("Content.Server.Database.UploadedResourceLog", b =>
1216 b.Property<int>("Id")
1217 .ValueGeneratedOnAdd()
1218 .HasColumnType("integer")
1219 .HasColumnName("uploaded_resource_log_id");
1221 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1223 b.Property<byte[]>("Data")
1225 .HasColumnType("bytea")
1226 .HasColumnName("data");
1228 b.Property<DateTime>("Date")
1229 .HasColumnType("timestamp with time zone")
1230 .HasColumnName("date");
1232 b.Property<string>("Path")
1234 .HasColumnType("text")
1235 .HasColumnName("path");
1237 b.Property<Guid>("UserId")
1238 .HasColumnType("uuid")
1239 .HasColumnName("user_id");
1242 .HasName("PK_uploaded_resource_log");
1244 b.ToTable("uploaded_resource_log", (string)null);
1247 modelBuilder.Entity("Content.Server.Database.Whitelist", b =>
1249 b.Property<Guid>("UserId")
1250 .ValueGeneratedOnAdd()
1251 .HasColumnType("uuid")
1252 .HasColumnName("user_id");
1255 .HasName("PK_whitelist");
1257 b.ToTable("whitelist", (string)null);
1260 modelBuilder.Entity("PlayerRound", b =>
1262 b.Property<int>("PlayersId")
1263 .HasColumnType("integer")
1264 .HasColumnName("players_id");
1266 b.Property<int>("RoundsId")
1267 .HasColumnType("integer")
1268 .HasColumnName("rounds_id");
1270 b.HasKey("PlayersId", "RoundsId")
1271 .HasName("PK_player_round");
1273 b.HasIndex("RoundsId")
1274 .HasDatabaseName("IX_player_round_rounds_id");
1276 b.ToTable("player_round", (string)null);
1279 modelBuilder.Entity("Content.Server.Database.Admin", b =>
1281 b.HasOne("Content.Server.Database.AdminRank", "AdminRank")
1283 .HasForeignKey("AdminRankId")
1284 .OnDelete(DeleteBehavior.SetNull)
1285 .HasConstraintName("FK_admin_admin_rank_admin_rank_id");
1287 b.Navigation("AdminRank");
1290 modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
1292 b.HasOne("Content.Server.Database.Admin", "Admin")
1294 .HasForeignKey("AdminId")
1295 .OnDelete(DeleteBehavior.Cascade)
1297 .HasConstraintName("FK_admin_flag_admin_admin_id");
1299 b.Navigation("Admin");
1302 modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
1304 b.HasOne("Content.Server.Database.Round", "Round")
1305 .WithMany("AdminLogs")
1306 .HasForeignKey("RoundId")
1307 .OnDelete(DeleteBehavior.Cascade)
1309 .HasConstraintName("FK_admin_log_round_round_id");
1311 b.Navigation("Round");
1314 modelBuilder.Entity("Content.Server.Database.AdminLogEntity", b =>
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");
1322 modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
1324 b.HasOne("Content.Server.Database.Player", "Player")
1325 .WithMany("AdminLogs")
1326 .HasForeignKey("PlayerUserId")
1327 .HasPrincipalKey("UserId")
1328 .OnDelete(DeleteBehavior.Cascade)
1330 .HasConstraintName("FK_admin_log_player_player_player_user_id");
1332 b.HasOne("Content.Server.Database.AdminLog", "Log")
1333 .WithMany("Players")
1334 .HasForeignKey("LogId", "RoundId")
1335 .OnDelete(DeleteBehavior.Cascade)
1337 .HasConstraintName("FK_admin_log_player_admin_log_log_id_round_id");
1339 b.Navigation("Log");
1341 b.Navigation("Player");
1344 modelBuilder.Entity("Content.Server.Database.AdminMessage", b =>
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");
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");
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");
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");
1374 b.HasOne("Content.Server.Database.Round", "Round")
1376 .HasForeignKey("RoundId")
1377 .HasConstraintName("FK_admin_messages_round_round_id");
1379 b.Navigation("CreatedBy");
1381 b.Navigation("DeletedBy");
1383 b.Navigation("LastEditedBy");
1385 b.Navigation("Player");
1387 b.Navigation("Round");
1390 modelBuilder.Entity("Content.Server.Database.AdminNote", b =>
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");
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");
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");
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");
1420 b.HasOne("Content.Server.Database.Round", "Round")
1422 .HasForeignKey("RoundId")
1423 .HasConstraintName("FK_admin_notes_round_round_id");
1425 b.Navigation("CreatedBy");
1427 b.Navigation("DeletedBy");
1429 b.Navigation("LastEditedBy");
1431 b.Navigation("Player");
1433 b.Navigation("Round");
1436 modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
1438 b.HasOne("Content.Server.Database.AdminRank", "Rank")
1440 .HasForeignKey("AdminRankId")
1441 .OnDelete(DeleteBehavior.Cascade)
1443 .HasConstraintName("FK_admin_rank_flag_admin_rank_admin_rank_id");
1445 b.Navigation("Rank");
1448 modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b =>
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");
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");
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");
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");
1478 b.HasOne("Content.Server.Database.Round", "Round")
1480 .HasForeignKey("RoundId")
1481 .HasConstraintName("FK_admin_watchlists_round_round_id");
1483 b.Navigation("CreatedBy");
1485 b.Navigation("DeletedBy");
1487 b.Navigation("LastEditedBy");
1489 b.Navigation("Player");
1491 b.Navigation("Round");
1494 modelBuilder.Entity("Content.Server.Database.Antag", b =>
1496 b.HasOne("Content.Server.Database.Profile", "Profile")
1498 .HasForeignKey("ProfileId")
1499 .OnDelete(DeleteBehavior.Cascade)
1501 .HasConstraintName("FK_antag_profile_profile_id");
1503 b.Navigation("Profile");
1506 modelBuilder.Entity("Content.Server.Database.Job", b =>
1508 b.HasOne("Content.Server.Database.Profile", "Profile")
1510 .HasForeignKey("ProfileId")
1511 .OnDelete(DeleteBehavior.Cascade)
1513 .HasConstraintName("FK_job_profile_profile_id");
1515 b.Navigation("Profile");
1518 modelBuilder.Entity("Content.Server.Database.Profile", b =>
1520 b.HasOne("Content.Server.Database.Preference", "Preference")
1521 .WithMany("Profiles")
1522 .HasForeignKey("PreferenceId")
1523 .OnDelete(DeleteBehavior.Cascade)
1525 .HasConstraintName("FK_profile_preference_preference_id");
1527 b.Navigation("Preference");
1530 modelBuilder.Entity("Content.Server.Database.Round", b =>
1532 b.HasOne("Content.Server.Database.Server", "Server")
1534 .HasForeignKey("ServerId")
1535 .OnDelete(DeleteBehavior.Cascade)
1537 .HasConstraintName("FK_round_server_server_id");
1539 b.Navigation("Server");
1542 modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
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");
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");
1558 b.HasOne("Content.Server.Database.Round", "Round")
1560 .HasForeignKey("RoundId")
1561 .HasConstraintName("FK_server_ban_round_round_id");
1563 b.Navigation("CreatedBy");
1565 b.Navigation("LastEditedBy");
1567 b.Navigation("Round");
1570 modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
1572 b.HasOne("Content.Server.Database.ServerBan", "Ban")
1573 .WithMany("BanHits")
1574 .HasForeignKey("BanId")
1575 .OnDelete(DeleteBehavior.Cascade)
1577 .HasConstraintName("FK_server_ban_hit_server_ban_ban_id");
1579 b.HasOne("Content.Server.Database.ConnectionLog", "Connection")
1580 .WithMany("BanHits")
1581 .HasForeignKey("ConnectionId")
1582 .OnDelete(DeleteBehavior.Cascade)
1584 .HasConstraintName("FK_server_ban_hit_connection_log_connection_id");
1586 b.Navigation("Ban");
1588 b.Navigation("Connection");
1591 modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
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");
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");
1607 b.HasOne("Content.Server.Database.Round", "Round")
1609 .HasForeignKey("RoundId")
1610 .HasConstraintName("FK_server_role_ban_round_round_id");
1612 b.Navigation("CreatedBy");
1614 b.Navigation("LastEditedBy");
1616 b.Navigation("Round");
1619 modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
1621 b.HasOne("Content.Server.Database.ServerRoleBan", "Ban")
1623 .HasForeignKey("Content.Server.Database.ServerRoleUnban", "BanId")
1624 .OnDelete(DeleteBehavior.Cascade)
1626 .HasConstraintName("FK_server_role_unban_server_role_ban_ban_id");
1628 b.Navigation("Ban");
1631 modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
1633 b.HasOne("Content.Server.Database.ServerBan", "Ban")
1635 .HasForeignKey("Content.Server.Database.ServerUnban", "BanId")
1636 .OnDelete(DeleteBehavior.Cascade)
1638 .HasConstraintName("FK_server_unban_server_ban_ban_id");
1640 b.Navigation("Ban");
1643 modelBuilder.Entity("Content.Server.Database.Trait", b =>
1645 b.HasOne("Content.Server.Database.Profile", "Profile")
1647 .HasForeignKey("ProfileId")
1648 .OnDelete(DeleteBehavior.Cascade)
1650 .HasConstraintName("FK_trait_profile_profile_id");
1652 b.Navigation("Profile");
1655 modelBuilder.Entity("PlayerRound", b =>
1657 b.HasOne("Content.Server.Database.Player", null)
1659 .HasForeignKey("PlayersId")
1660 .OnDelete(DeleteBehavior.Cascade)
1662 .HasConstraintName("FK_player_round_player_players_id");
1664 b.HasOne("Content.Server.Database.Round", null)
1666 .HasForeignKey("RoundsId")
1667 .OnDelete(DeleteBehavior.Cascade)
1669 .HasConstraintName("FK_player_round_round_rounds_id");
1672 modelBuilder.Entity("Content.Server.Database.Admin", b =>
1674 b.Navigation("Flags");
1677 modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
1679 b.Navigation("Entities");
1681 b.Navigation("Players");
1684 modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
1686 b.Navigation("Admins");
1688 b.Navigation("Flags");
1691 modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
1693 b.Navigation("BanHits");
1696 modelBuilder.Entity("Content.Server.Database.Player", b =>
1698 b.Navigation("AdminLogs");
1700 b.Navigation("AdminMessagesCreated");
1702 b.Navigation("AdminMessagesDeleted");
1704 b.Navigation("AdminMessagesLastEdited");
1706 b.Navigation("AdminMessagesReceived");
1708 b.Navigation("AdminNotesCreated");
1710 b.Navigation("AdminNotesDeleted");
1712 b.Navigation("AdminNotesLastEdited");
1714 b.Navigation("AdminNotesReceived");
1716 b.Navigation("AdminServerBansCreated");
1718 b.Navigation("AdminServerBansLastEdited");
1720 b.Navigation("AdminServerRoleBansCreated");
1722 b.Navigation("AdminServerRoleBansLastEdited");
1724 b.Navigation("AdminWatchlistsCreated");
1726 b.Navigation("AdminWatchlistsDeleted");
1728 b.Navigation("AdminWatchlistsLastEdited");
1730 b.Navigation("AdminWatchlistsReceived");
1733 modelBuilder.Entity("Content.Server.Database.Preference", b =>
1735 b.Navigation("Profiles");
1738 modelBuilder.Entity("Content.Server.Database.Profile", b =>
1740 b.Navigation("Antags");
1742 b.Navigation("Jobs");
1744 b.Navigation("Traits");
1747 modelBuilder.Entity("Content.Server.Database.Round", b =>
1749 b.Navigation("AdminLogs");
1752 modelBuilder.Entity("Content.Server.Database.Server", b =>
1754 b.Navigation("Rounds");
1757 modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
1759 b.Navigation("BanHits");
1761 b.Navigation("Unban");
1764 modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
1766 b.Navigation("Unban");
1768 #pragma warning restore 612, 618