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
21 protected override void BuildTargetModel(ModelBuilder modelBuilder)
23 #pragma warning disable 612, 618
25 .HasAnnotation("ProductVersion", "7.0.4")
26 .HasAnnotation("Relational:MaxIdentifierLength", 63);
28 NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
30 modelBuilder.Entity("Content.Server.Database.Admin", b =>
32 b.Property<Guid>("UserId")
33 .ValueGeneratedOnAdd()
34 .HasColumnType("uuid")
35 .HasColumnName("user_id");
37 b.Property<int?>("AdminRankId")
38 .HasColumnType("integer")
39 .HasColumnName("admin_rank_id");
41 b.Property<string>("Title")
42 .HasColumnType("text")
43 .HasColumnName("title");
48 b.HasIndex("AdminRankId")
49 .HasDatabaseName("IX_admin_admin_rank_id");
51 b.ToTable("admin", (string)null);
54 modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
57 .ValueGeneratedOnAdd()
58 .HasColumnType("integer")
59 .HasColumnName("admin_flag_id");
61 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
63 b.Property<Guid>("AdminId")
64 .HasColumnType("uuid")
65 .HasColumnName("admin_id");
67 b.Property<string>("Flag")
69 .HasColumnType("text")
70 .HasColumnName("flag");
72 b.Property<bool>("Negative")
73 .HasColumnType("boolean")
74 .HasColumnName("negative");
77 .HasName("PK_admin_flag");
80 .HasDatabaseName("IX_admin_flag_admin_id");
82 b.HasIndex("Flag", "AdminId")
85 b.ToTable("admin_flag", (string)null);
88 modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
91 .ValueGeneratedOnAdd()
92 .HasColumnType("integer")
93 .HasColumnName("admin_log_id");
95 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
97 b.Property<int>("RoundId")
98 .HasColumnType("integer")
99 .HasColumnName("round_id");
101 b.Property<DateTime>("Date")
102 .HasColumnType("timestamp with time zone")
103 .HasColumnName("date");
105 b.Property<short>("Impact")
106 .HasColumnType("smallint")
107 .HasColumnName("impact");
109 b.Property<JsonDocument>("Json")
111 .HasColumnType("jsonb")
112 .HasColumnName("json");
114 b.Property<string>("Message")
116 .HasColumnType("text")
117 .HasColumnName("message");
119 b.Property<int>("Type")
120 .HasColumnType("integer")
121 .HasColumnName("type");
123 b.HasKey("Id", "RoundId")
124 .HasName("PK_admin_log");
128 b.HasIndex("Message")
129 .HasAnnotation("Npgsql:TsVectorConfig", "english");
131 NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex("Message"), "GIN");
133 b.HasIndex("RoundId")
134 .HasDatabaseName("IX_admin_log_round_id");
137 .HasDatabaseName("IX_admin_log_type");
139 b.ToTable("admin_log", (string)null);
142 modelBuilder.Entity("Content.Server.Database.AdminLogEntity", b =>
144 b.Property<int>("Uid")
145 .ValueGeneratedOnAdd()
146 .HasColumnType("integer")
147 .HasColumnName("uid");
149 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Uid"));
151 b.Property<int?>("AdminLogId")
152 .HasColumnType("integer")
153 .HasColumnName("admin_log_id");
155 b.Property<int?>("AdminLogRoundId")
156 .HasColumnType("integer")
157 .HasColumnName("admin_log_round_id");
159 b.Property<string>("Name")
160 .HasColumnType("text")
161 .HasColumnName("name");
164 .HasName("PK_admin_log_entity");
166 b.HasIndex("AdminLogId", "AdminLogRoundId")
167 .HasDatabaseName("IX_admin_log_entity_admin_log_id_admin_log_round_id");
169 b.ToTable("admin_log_entity", (string)null);
172 modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
174 b.Property<Guid>("PlayerUserId")
175 .HasColumnType("uuid")
176 .HasColumnName("player_user_id");
178 b.Property<int>("LogId")
179 .HasColumnType("integer")
180 .HasColumnName("log_id");
182 b.Property<int>("RoundId")
183 .HasColumnType("integer")
184 .HasColumnName("round_id");
186 b.HasKey("PlayerUserId", "LogId", "RoundId")
187 .HasName("PK_admin_log_player");
189 b.HasIndex("LogId", "RoundId");
191 b.ToTable("admin_log_player", (string)null);
194 modelBuilder.Entity("Content.Server.Database.AdminMessage", b =>
196 b.Property<int>("Id")
197 .ValueGeneratedOnAdd()
198 .HasColumnType("integer")
199 .HasColumnName("admin_messages_id");
201 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
203 b.Property<DateTime>("CreatedAt")
204 .HasColumnType("timestamp with time zone")
205 .HasColumnName("created_at");
207 b.Property<Guid?>("CreatedById")
208 .HasColumnType("uuid")
209 .HasColumnName("created_by_id");
211 b.Property<bool>("Deleted")
212 .HasColumnType("boolean")
213 .HasColumnName("deleted");
215 b.Property<DateTime?>("DeletedAt")
216 .HasColumnType("timestamp with time zone")
217 .HasColumnName("deleted_at");
219 b.Property<Guid?>("DeletedById")
220 .HasColumnType("uuid")
221 .HasColumnName("deleted_by_id");
223 b.Property<DateTime?>("ExpirationTime")
224 .HasColumnType("timestamp with time zone")
225 .HasColumnName("expiration_time");
227 b.Property<DateTime?>("LastEditedAt")
228 .HasColumnType("timestamp with time zone")
229 .HasColumnName("last_edited_at");
231 b.Property<Guid?>("LastEditedById")
232 .HasColumnType("uuid")
233 .HasColumnName("last_edited_by_id");
235 b.Property<string>("Message")
238 .HasColumnType("character varying(4096)")
239 .HasColumnName("message");
241 b.Property<Guid?>("PlayerUserId")
242 .HasColumnType("uuid")
243 .HasColumnName("player_user_id");
245 b.Property<TimeSpan>("PlaytimeAtNote")
246 .HasColumnType("interval")
247 .HasColumnName("playtime_at_note");
249 b.Property<int?>("RoundId")
250 .HasColumnType("integer")
251 .HasColumnName("round_id");
253 b.Property<bool>("Seen")
254 .HasColumnType("boolean")
255 .HasColumnName("seen");
258 .HasName("PK_admin_messages");
260 b.HasIndex("CreatedById");
262 b.HasIndex("DeletedById");
264 b.HasIndex("LastEditedById");
266 b.HasIndex("PlayerUserId")
267 .HasDatabaseName("IX_admin_messages_player_user_id");
269 b.HasIndex("RoundId")
270 .HasDatabaseName("IX_admin_messages_round_id");
272 b.ToTable("admin_messages", (string)null);
275 modelBuilder.Entity("Content.Server.Database.AdminNote", b =>
277 b.Property<int>("Id")
278 .ValueGeneratedOnAdd()
279 .HasColumnType("integer")
280 .HasColumnName("admin_notes_id");
282 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
284 b.Property<DateTime>("CreatedAt")
285 .HasColumnType("timestamp with time zone")
286 .HasColumnName("created_at");
288 b.Property<Guid?>("CreatedById")
289 .HasColumnType("uuid")
290 .HasColumnName("created_by_id");
292 b.Property<bool>("Deleted")
293 .HasColumnType("boolean")
294 .HasColumnName("deleted");
296 b.Property<DateTime?>("DeletedAt")
297 .HasColumnType("timestamp with time zone")
298 .HasColumnName("deleted_at");
300 b.Property<Guid?>("DeletedById")
301 .HasColumnType("uuid")
302 .HasColumnName("deleted_by_id");
304 b.Property<DateTime?>("ExpirationTime")
305 .HasColumnType("timestamp with time zone")
306 .HasColumnName("expiration_time");
308 b.Property<DateTime?>("LastEditedAt")
310 .HasColumnType("timestamp with time zone")
311 .HasColumnName("last_edited_at");
313 b.Property<Guid?>("LastEditedById")
314 .HasColumnType("uuid")
315 .HasColumnName("last_edited_by_id");
317 b.Property<string>("Message")
320 .HasColumnType("character varying(4096)")
321 .HasColumnName("message");
323 b.Property<Guid?>("PlayerUserId")
324 .HasColumnType("uuid")
325 .HasColumnName("player_user_id");
327 b.Property<TimeSpan>("PlaytimeAtNote")
328 .HasColumnType("interval")
329 .HasColumnName("playtime_at_note");
331 b.Property<int?>("RoundId")
332 .HasColumnType("integer")
333 .HasColumnName("round_id");
335 b.Property<bool>("Secret")
336 .HasColumnType("boolean")
337 .HasColumnName("secret");
339 b.Property<int>("Severity")
340 .HasColumnType("integer")
341 .HasColumnName("severity");
344 .HasName("PK_admin_notes");
346 b.HasIndex("CreatedById");
348 b.HasIndex("DeletedById");
350 b.HasIndex("LastEditedById");
352 b.HasIndex("PlayerUserId")
353 .HasDatabaseName("IX_admin_notes_player_user_id");
355 b.HasIndex("RoundId")
356 .HasDatabaseName("IX_admin_notes_round_id");
358 b.ToTable("admin_notes", (string)null);
361 modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
363 b.Property<int>("Id")
364 .ValueGeneratedOnAdd()
365 .HasColumnType("integer")
366 .HasColumnName("admin_rank_id");
368 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
370 b.Property<string>("Name")
372 .HasColumnType("text")
373 .HasColumnName("name");
376 .HasName("PK_admin_rank");
378 b.ToTable("admin_rank", (string)null);
381 modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
383 b.Property<int>("Id")
384 .ValueGeneratedOnAdd()
385 .HasColumnType("integer")
386 .HasColumnName("admin_rank_flag_id");
388 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
390 b.Property<int>("AdminRankId")
391 .HasColumnType("integer")
392 .HasColumnName("admin_rank_id");
394 b.Property<string>("Flag")
396 .HasColumnType("text")
397 .HasColumnName("flag");
400 .HasName("PK_admin_rank_flag");
402 b.HasIndex("AdminRankId");
404 b.HasIndex("Flag", "AdminRankId")
407 b.ToTable("admin_rank_flag", (string)null);
410 modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b =>
412 b.Property<int>("Id")
413 .ValueGeneratedOnAdd()
414 .HasColumnType("integer")
415 .HasColumnName("admin_watchlists_id");
417 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
419 b.Property<DateTime>("CreatedAt")
420 .HasColumnType("timestamp with time zone")
421 .HasColumnName("created_at");
423 b.Property<Guid?>("CreatedById")
424 .HasColumnType("uuid")
425 .HasColumnName("created_by_id");
427 b.Property<bool>("Deleted")
428 .HasColumnType("boolean")
429 .HasColumnName("deleted");
431 b.Property<DateTime?>("DeletedAt")
432 .HasColumnType("timestamp with time zone")
433 .HasColumnName("deleted_at");
435 b.Property<Guid?>("DeletedById")
436 .HasColumnType("uuid")
437 .HasColumnName("deleted_by_id");
439 b.Property<DateTime?>("ExpirationTime")
440 .HasColumnType("timestamp with time zone")
441 .HasColumnName("expiration_time");
443 b.Property<DateTime?>("LastEditedAt")
445 .HasColumnType("timestamp with time zone")
446 .HasColumnName("last_edited_at");
448 b.Property<Guid?>("LastEditedById")
449 .HasColumnType("uuid")
450 .HasColumnName("last_edited_by_id");
452 b.Property<string>("Message")
455 .HasColumnType("character varying(4096)")
456 .HasColumnName("message");
458 b.Property<Guid?>("PlayerUserId")
459 .HasColumnType("uuid")
460 .HasColumnName("player_user_id");
462 b.Property<TimeSpan>("PlaytimeAtNote")
463 .HasColumnType("interval")
464 .HasColumnName("playtime_at_note");
466 b.Property<int?>("RoundId")
467 .HasColumnType("integer")
468 .HasColumnName("round_id");
471 .HasName("PK_admin_watchlists");
473 b.HasIndex("CreatedById");
475 b.HasIndex("DeletedById");
477 b.HasIndex("LastEditedById");
479 b.HasIndex("PlayerUserId")
480 .HasDatabaseName("IX_admin_watchlists_player_user_id");
482 b.HasIndex("RoundId")
483 .HasDatabaseName("IX_admin_watchlists_round_id");
485 b.ToTable("admin_watchlists", (string)null);
488 modelBuilder.Entity("Content.Server.Database.Antag", b =>
490 b.Property<int>("Id")
491 .ValueGeneratedOnAdd()
492 .HasColumnType("integer")
493 .HasColumnName("antag_id");
495 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
497 b.Property<string>("AntagName")
499 .HasColumnType("text")
500 .HasColumnName("antag_name");
502 b.Property<int>("ProfileId")
503 .HasColumnType("integer")
504 .HasColumnName("profile_id");
507 .HasName("PK_antag");
509 b.HasIndex("ProfileId", "AntagName")
512 b.ToTable("antag", (string)null);
515 modelBuilder.Entity("Content.Server.Database.AssignedUserId", b =>
517 b.Property<int>("Id")
518 .ValueGeneratedOnAdd()
519 .HasColumnType("integer")
520 .HasColumnName("assigned_user_id_id");
522 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
524 b.Property<Guid>("UserId")
525 .HasColumnType("uuid")
526 .HasColumnName("user_id");
528 b.Property<string>("UserName")
530 .HasColumnType("text")
531 .HasColumnName("user_name");
534 .HasName("PK_assigned_user_id");
539 b.HasIndex("UserName")
542 b.ToTable("assigned_user_id", (string)null);
545 modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
547 b.Property<int>("Id")
548 .ValueGeneratedOnAdd()
549 .HasColumnType("integer")
550 .HasColumnName("connection_log_id");
552 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
554 b.Property<IPAddress>("Address")
556 .HasColumnType("inet")
557 .HasColumnName("address");
559 b.Property<byte?>("Denied")
560 .HasColumnType("smallint")
561 .HasColumnName("denied");
563 b.Property<byte[]>("HWId")
564 .HasColumnType("bytea")
565 .HasColumnName("hwid");
567 b.Property<DateTime>("Time")
568 .HasColumnType("timestamp with time zone")
569 .HasColumnName("time");
571 b.Property<Guid>("UserId")
572 .HasColumnType("uuid")
573 .HasColumnName("user_id");
575 b.Property<string>("UserName")
577 .HasColumnType("text")
578 .HasColumnName("user_name");
581 .HasName("PK_connection_log");
583 b.HasIndex("UserId");
585 b.ToTable("connection_log", null, t =>
587 t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
591 modelBuilder.Entity("Content.Server.Database.Job", b =>
593 b.Property<int>("Id")
594 .ValueGeneratedOnAdd()
595 .HasColumnType("integer")
596 .HasColumnName("job_id");
598 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
600 b.Property<string>("JobName")
602 .HasColumnType("text")
603 .HasColumnName("job_name");
605 b.Property<int>("Priority")
606 .HasColumnType("integer")
607 .HasColumnName("priority");
609 b.Property<int>("ProfileId")
610 .HasColumnType("integer")
611 .HasColumnName("profile_id");
616 b.HasIndex("ProfileId");
618 b.HasIndex("ProfileId", "JobName")
621 b.HasIndex(new[] { "ProfileId" }, "IX_job_one_high_priority")
623 .HasFilter("priority = 3");
625 b.ToTable("job", (string)null);
628 modelBuilder.Entity("Content.Server.Database.PlayTime", b =>
630 b.Property<int>("Id")
631 .ValueGeneratedOnAdd()
632 .HasColumnType("integer")
633 .HasColumnName("play_time_id");
635 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
637 b.Property<Guid>("PlayerId")
638 .HasColumnType("uuid")
639 .HasColumnName("player_id");
641 b.Property<TimeSpan>("TimeSpent")
642 .HasColumnType("interval")
643 .HasColumnName("time_spent");
645 b.Property<string>("Tracker")
647 .HasColumnType("text")
648 .HasColumnName("tracker");
651 .HasName("PK_play_time");
653 b.HasIndex("PlayerId", "Tracker")
656 b.ToTable("play_time", (string)null);
659 modelBuilder.Entity("Content.Server.Database.Player", b =>
661 b.Property<int>("Id")
662 .ValueGeneratedOnAdd()
663 .HasColumnType("integer")
664 .HasColumnName("player_id");
666 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
668 b.Property<DateTime>("FirstSeenTime")
669 .HasColumnType("timestamp with time zone")
670 .HasColumnName("first_seen_time");
672 b.Property<DateTime?>("LastReadRules")
673 .HasColumnType("timestamp with time zone")
674 .HasColumnName("last_read_rules");
676 b.Property<IPAddress>("LastSeenAddress")
678 .HasColumnType("inet")
679 .HasColumnName("last_seen_address");
681 b.Property<byte[]>("LastSeenHWId")
682 .HasColumnType("bytea")
683 .HasColumnName("last_seen_hwid");
685 b.Property<DateTime>("LastSeenTime")
686 .HasColumnType("timestamp with time zone")
687 .HasColumnName("last_seen_time");
689 b.Property<string>("LastSeenUserName")
691 .HasColumnType("text")
692 .HasColumnName("last_seen_user_name");
694 b.Property<Guid>("UserId")
695 .HasColumnType("uuid")
696 .HasColumnName("user_id");
699 .HasName("PK_player");
701 b.HasAlternateKey("UserId")
702 .HasName("ak_player_user_id");
704 b.HasIndex("LastSeenUserName");
709 b.ToTable("player", null, t =>
711 t.HasCheckConstraint("LastSeenAddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= last_seen_address");
715 modelBuilder.Entity("Content.Server.Database.Preference", b =>
717 b.Property<int>("Id")
718 .ValueGeneratedOnAdd()
719 .HasColumnType("integer")
720 .HasColumnName("preference_id");
722 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
724 b.Property<string>("AdminOOCColor")
726 .HasColumnType("text")
727 .HasColumnName("admin_ooc_color");
729 b.Property<int>("SelectedCharacterSlot")
730 .HasColumnType("integer")
731 .HasColumnName("selected_character_slot");
733 b.Property<Guid>("UserId")
734 .HasColumnType("uuid")
735 .HasColumnName("user_id");
738 .HasName("PK_preference");
743 b.ToTable("preference", (string)null);
746 modelBuilder.Entity("Content.Server.Database.Profile", b =>
748 b.Property<int>("Id")
749 .ValueGeneratedOnAdd()
750 .HasColumnType("integer")
751 .HasColumnName("profile_id");
753 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
755 b.Property<int>("Age")
756 .HasColumnType("integer")
757 .HasColumnName("age");
759 b.Property<string>("Backpack")
761 .HasColumnType("text")
762 .HasColumnName("backpack");
764 b.Property<string>("CharacterName")
766 .HasColumnType("text")
767 .HasColumnName("char_name");
769 b.Property<string>("Clothing")
771 .HasColumnType("text")
772 .HasColumnName("clothing");
774 b.Property<string>("EyeColor")
776 .HasColumnType("text")
777 .HasColumnName("eye_color");
779 b.Property<string>("FacialHairColor")
781 .HasColumnType("text")
782 .HasColumnName("facial_hair_color");
784 b.Property<string>("FacialHairName")
786 .HasColumnType("text")
787 .HasColumnName("facial_hair_name");
789 b.Property<string>("FlavorText")
791 .HasColumnType("text")
792 .HasColumnName("flavor_text");
794 b.Property<string>("Gender")
796 .HasColumnType("text")
797 .HasColumnName("gender");
799 b.Property<string>("HairColor")
801 .HasColumnType("text")
802 .HasColumnName("hair_color");
804 b.Property<string>("HairName")
806 .HasColumnType("text")
807 .HasColumnName("hair_name");
809 b.Property<JsonDocument>("Markings")
810 .HasColumnType("jsonb")
811 .HasColumnName("markings");
813 b.Property<int>("PreferenceId")
814 .HasColumnType("integer")
815 .HasColumnName("preference_id");
817 b.Property<int>("PreferenceUnavailable")
818 .HasColumnType("integer")
819 .HasColumnName("pref_unavailable");
821 b.Property<string>("Sex")
823 .HasColumnType("text")
824 .HasColumnName("sex");
826 b.Property<string>("SkinColor")
828 .HasColumnType("text")
829 .HasColumnName("skin_color");
831 b.Property<int>("Slot")
832 .HasColumnType("integer")
833 .HasColumnName("slot");
835 b.Property<string>("Species")
837 .HasColumnType("text")
838 .HasColumnName("species");
841 .HasName("PK_profile");
843 b.HasIndex("PreferenceId")
844 .HasDatabaseName("IX_profile_preference_id");
846 b.HasIndex("Slot", "PreferenceId")
849 b.ToTable("profile", (string)null);
852 modelBuilder.Entity("Content.Server.Database.Round", b =>
854 b.Property<int>("Id")
855 .ValueGeneratedOnAdd()
856 .HasColumnType("integer")
857 .HasColumnName("round_id");
859 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
861 b.Property<int>("ServerId")
862 .HasColumnType("integer")
863 .HasColumnName("server_id");
866 .HasName("PK_round");
868 b.HasIndex("ServerId")
869 .HasDatabaseName("IX_round_server_id");
871 b.ToTable("round", (string)null);
874 modelBuilder.Entity("Content.Server.Database.Server", b =>
876 b.Property<int>("Id")
877 .ValueGeneratedOnAdd()
878 .HasColumnType("integer")
879 .HasColumnName("server_id");
881 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
883 b.Property<string>("Name")
885 .HasColumnType("text")
886 .HasColumnName("name");
889 .HasName("PK_server");
891 b.ToTable("server", (string)null);
894 modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
896 b.Property<int>("Id")
897 .ValueGeneratedOnAdd()
898 .HasColumnType("integer")
899 .HasColumnName("server_ban_id");
901 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
903 b.Property<ValueTuple<IPAddress, int>?>("Address")
904 .HasColumnType("inet")
905 .HasColumnName("address");
907 b.Property<bool>("AutoDelete")
908 .HasColumnType("boolean")
909 .HasColumnName("auto_delete");
911 b.Property<DateTime>("BanTime")
912 .HasColumnType("timestamp with time zone")
913 .HasColumnName("ban_time");
915 b.Property<Guid?>("BanningAdmin")
916 .HasColumnType("uuid")
917 .HasColumnName("banning_admin");
919 b.Property<int>("ExemptFlags")
920 .HasColumnType("integer")
921 .HasColumnName("exempt_flags");
923 b.Property<DateTime?>("ExpirationTime")
924 .HasColumnType("timestamp with time zone")
925 .HasColumnName("expiration_time");
927 b.Property<byte[]>("HWId")
928 .HasColumnType("bytea")
929 .HasColumnName("hwid");
931 b.Property<bool>("Hidden")
932 .HasColumnType("boolean")
933 .HasColumnName("hidden");
935 b.Property<DateTime?>("LastEditedAt")
936 .HasColumnType("timestamp with time zone")
937 .HasColumnName("last_edited_at");
939 b.Property<Guid?>("LastEditedById")
940 .HasColumnType("uuid")
941 .HasColumnName("last_edited_by_id");
943 b.Property<Guid?>("PlayerUserId")
944 .HasColumnType("uuid")
945 .HasColumnName("player_user_id");
947 b.Property<TimeSpan>("PlaytimeAtNote")
948 .HasColumnType("interval")
949 .HasColumnName("playtime_at_note");
951 b.Property<string>("Reason")
953 .HasColumnType("text")
954 .HasColumnName("reason");
956 b.Property<int?>("RoundId")
957 .HasColumnType("integer")
958 .HasColumnName("round_id");
960 b.Property<int>("Severity")
961 .HasColumnType("integer")
962 .HasColumnName("severity");
965 .HasName("PK_server_ban");
967 b.HasIndex("Address");
969 b.HasIndex("BanningAdmin");
971 b.HasIndex("LastEditedById");
973 b.HasIndex("PlayerUserId")
974 .HasDatabaseName("IX_server_ban_player_user_id");
976 b.HasIndex("RoundId")
977 .HasDatabaseName("IX_server_ban_round_id");
979 b.ToTable("server_ban", null, t =>
981 t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
983 t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL");
987 modelBuilder.Entity("Content.Server.Database.ServerBanExemption", b =>
989 b.Property<Guid>("UserId")
990 .ValueGeneratedOnAdd()
991 .HasColumnType("uuid")
992 .HasColumnName("user_id");
994 b.Property<int>("Flags")
995 .HasColumnType("integer")
996 .HasColumnName("flags");
999 .HasName("PK_server_ban_exemption");
1001 b.ToTable("server_ban_exemption", null, t =>
1003 t.HasCheckConstraint("FlagsNotZero", "flags != 0");
1007 modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
1009 b.Property<int>("Id")
1010 .ValueGeneratedOnAdd()
1011 .HasColumnType("integer")
1012 .HasColumnName("server_ban_hit_id");
1014 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1016 b.Property<int>("BanId")
1017 .HasColumnType("integer")
1018 .HasColumnName("ban_id");
1020 b.Property<int>("ConnectionId")
1021 .HasColumnType("integer")
1022 .HasColumnName("connection_id");
1025 .HasName("PK_server_ban_hit");
1028 .HasDatabaseName("IX_server_ban_hit_ban_id");
1030 b.HasIndex("ConnectionId")
1031 .HasDatabaseName("IX_server_ban_hit_connection_id");
1033 b.ToTable("server_ban_hit", (string)null);
1036 modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
1038 b.Property<int>("Id")
1039 .ValueGeneratedOnAdd()
1040 .HasColumnType("integer")
1041 .HasColumnName("server_role_ban_id");
1043 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1045 b.Property<ValueTuple<IPAddress, int>?>("Address")
1046 .HasColumnType("inet")
1047 .HasColumnName("address");
1049 b.Property<DateTime>("BanTime")
1050 .HasColumnType("timestamp with time zone")
1051 .HasColumnName("ban_time");
1053 b.Property<Guid?>("BanningAdmin")
1054 .HasColumnType("uuid")
1055 .HasColumnName("banning_admin");
1057 b.Property<DateTime?>("ExpirationTime")
1058 .HasColumnType("timestamp with time zone")
1059 .HasColumnName("expiration_time");
1061 b.Property<byte[]>("HWId")
1062 .HasColumnType("bytea")
1063 .HasColumnName("hwid");
1065 b.Property<bool>("Hidden")
1066 .HasColumnType("boolean")
1067 .HasColumnName("hidden");
1069 b.Property<DateTime?>("LastEditedAt")
1070 .HasColumnType("timestamp with time zone")
1071 .HasColumnName("last_edited_at");
1073 b.Property<Guid?>("LastEditedById")
1074 .HasColumnType("uuid")
1075 .HasColumnName("last_edited_by_id");
1077 b.Property<Guid?>("PlayerUserId")
1078 .HasColumnType("uuid")
1079 .HasColumnName("player_user_id");
1081 b.Property<TimeSpan>("PlaytimeAtNote")
1082 .HasColumnType("interval")
1083 .HasColumnName("playtime_at_note");
1085 b.Property<string>("Reason")
1087 .HasColumnType("text")
1088 .HasColumnName("reason");
1090 b.Property<string>("RoleId")
1092 .HasColumnType("text")
1093 .HasColumnName("role_id");
1095 b.Property<int?>("RoundId")
1096 .HasColumnType("integer")
1097 .HasColumnName("round_id");
1099 b.Property<int>("Severity")
1100 .HasColumnType("integer")
1101 .HasColumnName("severity");
1104 .HasName("PK_server_role_ban");
1106 b.HasIndex("Address");
1108 b.HasIndex("BanningAdmin");
1110 b.HasIndex("LastEditedById");
1112 b.HasIndex("PlayerUserId")
1113 .HasDatabaseName("IX_server_role_ban_player_user_id");
1115 b.HasIndex("RoundId")
1116 .HasDatabaseName("IX_server_role_ban_round_id");
1118 b.ToTable("server_role_ban", null, t =>
1120 t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
1122 t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL");
1126 modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
1128 b.Property<int>("Id")
1129 .ValueGeneratedOnAdd()
1130 .HasColumnType("integer")
1131 .HasColumnName("role_unban_id");
1133 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1135 b.Property<int>("BanId")
1136 .HasColumnType("integer")
1137 .HasColumnName("ban_id");
1139 b.Property<DateTime>("UnbanTime")
1140 .HasColumnType("timestamp with time zone")
1141 .HasColumnName("unban_time");
1143 b.Property<Guid?>("UnbanningAdmin")
1144 .HasColumnType("uuid")
1145 .HasColumnName("unbanning_admin");
1148 .HasName("PK_server_role_unban");
1153 b.ToTable("server_role_unban", (string)null);
1156 modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
1158 b.Property<int>("Id")
1159 .ValueGeneratedOnAdd()
1160 .HasColumnType("integer")
1161 .HasColumnName("unban_id");
1163 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1165 b.Property<int>("BanId")
1166 .HasColumnType("integer")
1167 .HasColumnName("ban_id");
1169 b.Property<DateTime>("UnbanTime")
1170 .HasColumnType("timestamp with time zone")
1171 .HasColumnName("unban_time");
1173 b.Property<Guid?>("UnbanningAdmin")
1174 .HasColumnType("uuid")
1175 .HasColumnName("unbanning_admin");
1178 .HasName("PK_server_unban");
1183 b.ToTable("server_unban", (string)null);
1186 modelBuilder.Entity("Content.Server.Database.Trait", b =>
1188 b.Property<int>("Id")
1189 .ValueGeneratedOnAdd()
1190 .HasColumnType("integer")
1191 .HasColumnName("trait_id");
1193 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1195 b.Property<int>("ProfileId")
1196 .HasColumnType("integer")
1197 .HasColumnName("profile_id");
1199 b.Property<string>("TraitName")
1201 .HasColumnType("text")
1202 .HasColumnName("trait_name");
1205 .HasName("PK_trait");
1207 b.HasIndex("ProfileId", "TraitName")
1210 b.ToTable("trait", (string)null);
1213 modelBuilder.Entity("Content.Server.Database.UploadedResourceLog", b =>
1215 b.Property<int>("Id")
1216 .ValueGeneratedOnAdd()
1217 .HasColumnType("integer")
1218 .HasColumnName("uploaded_resource_log_id");
1220 NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
1222 b.Property<byte[]>("Data")
1224 .HasColumnType("bytea")
1225 .HasColumnName("data");
1227 b.Property<DateTime>("Date")
1228 .HasColumnType("timestamp with time zone")
1229 .HasColumnName("date");
1231 b.Property<string>("Path")
1233 .HasColumnType("text")
1234 .HasColumnName("path");
1236 b.Property<Guid>("UserId")
1237 .HasColumnType("uuid")
1238 .HasColumnName("user_id");
1241 .HasName("PK_uploaded_resource_log");
1243 b.ToTable("uploaded_resource_log", (string)null);
1246 modelBuilder.Entity("Content.Server.Database.Whitelist", b =>
1248 b.Property<Guid>("UserId")
1249 .ValueGeneratedOnAdd()
1250 .HasColumnType("uuid")
1251 .HasColumnName("user_id");
1254 .HasName("PK_whitelist");
1256 b.ToTable("whitelist", (string)null);
1259 modelBuilder.Entity("PlayerRound", b =>
1261 b.Property<int>("PlayersId")
1262 .HasColumnType("integer")
1263 .HasColumnName("players_id");
1265 b.Property<int>("RoundsId")
1266 .HasColumnType("integer")
1267 .HasColumnName("rounds_id");
1269 b.HasKey("PlayersId", "RoundsId")
1270 .HasName("PK_player_round");
1272 b.HasIndex("RoundsId")
1273 .HasDatabaseName("IX_player_round_rounds_id");
1275 b.ToTable("player_round", (string)null);
1278 modelBuilder.Entity("Content.Server.Database.Admin", b =>
1280 b.HasOne("Content.Server.Database.AdminRank", "AdminRank")
1282 .HasForeignKey("AdminRankId")
1283 .OnDelete(DeleteBehavior.SetNull)
1284 .HasConstraintName("FK_admin_admin_rank_admin_rank_id");
1286 b.Navigation("AdminRank");
1289 modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
1291 b.HasOne("Content.Server.Database.Admin", "Admin")
1293 .HasForeignKey("AdminId")
1294 .OnDelete(DeleteBehavior.Cascade)
1296 .HasConstraintName("FK_admin_flag_admin_admin_id");
1298 b.Navigation("Admin");
1301 modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
1303 b.HasOne("Content.Server.Database.Round", "Round")
1304 .WithMany("AdminLogs")
1305 .HasForeignKey("RoundId")
1306 .OnDelete(DeleteBehavior.Cascade)
1308 .HasConstraintName("FK_admin_log_round_round_id");
1310 b.Navigation("Round");
1313 modelBuilder.Entity("Content.Server.Database.AdminLogEntity", b =>
1315 b.HasOne("Content.Server.Database.AdminLog", null)
1316 .WithMany("Entities")
1317 .HasForeignKey("AdminLogId", "AdminLogRoundId")
1318 .HasConstraintName("FK_admin_log_entity_admin_log_admin_log_id_admin_log_round_id");
1321 modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
1323 b.HasOne("Content.Server.Database.Player", "Player")
1324 .WithMany("AdminLogs")
1325 .HasForeignKey("PlayerUserId")
1326 .HasPrincipalKey("UserId")
1327 .OnDelete(DeleteBehavior.Cascade)
1329 .HasConstraintName("FK_admin_log_player_player_player_user_id");
1331 b.HasOne("Content.Server.Database.AdminLog", "Log")
1332 .WithMany("Players")
1333 .HasForeignKey("LogId", "RoundId")
1334 .OnDelete(DeleteBehavior.Cascade)
1336 .HasConstraintName("FK_admin_log_player_admin_log_log_id_round_id");
1338 b.Navigation("Log");
1340 b.Navigation("Player");
1343 modelBuilder.Entity("Content.Server.Database.AdminMessage", b =>
1345 b.HasOne("Content.Server.Database.Player", "CreatedBy")
1346 .WithMany("AdminMessagesCreated")
1347 .HasForeignKey("CreatedById")
1348 .HasPrincipalKey("UserId")
1349 .OnDelete(DeleteBehavior.SetNull)
1350 .HasConstraintName("FK_admin_messages_player_created_by_id");
1352 b.HasOne("Content.Server.Database.Player", "DeletedBy")
1353 .WithMany("AdminMessagesDeleted")
1354 .HasForeignKey("DeletedById")
1355 .HasPrincipalKey("UserId")
1356 .OnDelete(DeleteBehavior.SetNull)
1357 .HasConstraintName("FK_admin_messages_player_deleted_by_id");
1359 b.HasOne("Content.Server.Database.Player", "LastEditedBy")
1360 .WithMany("AdminMessagesLastEdited")
1361 .HasForeignKey("LastEditedById")
1362 .HasPrincipalKey("UserId")
1363 .OnDelete(DeleteBehavior.SetNull)
1364 .HasConstraintName("FK_admin_messages_player_last_edited_by_id");
1366 b.HasOne("Content.Server.Database.Player", "Player")
1367 .WithMany("AdminMessagesReceived")
1368 .HasForeignKey("PlayerUserId")
1369 .HasPrincipalKey("UserId")
1370 .OnDelete(DeleteBehavior.Cascade)
1371 .HasConstraintName("FK_admin_messages_player_player_user_id");
1373 b.HasOne("Content.Server.Database.Round", "Round")
1375 .HasForeignKey("RoundId")
1376 .HasConstraintName("FK_admin_messages_round_round_id");
1378 b.Navigation("CreatedBy");
1380 b.Navigation("DeletedBy");
1382 b.Navigation("LastEditedBy");
1384 b.Navigation("Player");
1386 b.Navigation("Round");
1389 modelBuilder.Entity("Content.Server.Database.AdminNote", b =>
1391 b.HasOne("Content.Server.Database.Player", "CreatedBy")
1392 .WithMany("AdminNotesCreated")
1393 .HasForeignKey("CreatedById")
1394 .HasPrincipalKey("UserId")
1395 .OnDelete(DeleteBehavior.SetNull)
1396 .HasConstraintName("FK_admin_notes_player_created_by_id");
1398 b.HasOne("Content.Server.Database.Player", "DeletedBy")
1399 .WithMany("AdminNotesDeleted")
1400 .HasForeignKey("DeletedById")
1401 .HasPrincipalKey("UserId")
1402 .OnDelete(DeleteBehavior.SetNull)
1403 .HasConstraintName("FK_admin_notes_player_deleted_by_id");
1405 b.HasOne("Content.Server.Database.Player", "LastEditedBy")
1406 .WithMany("AdminNotesLastEdited")
1407 .HasForeignKey("LastEditedById")
1408 .HasPrincipalKey("UserId")
1409 .OnDelete(DeleteBehavior.SetNull)
1410 .HasConstraintName("FK_admin_notes_player_last_edited_by_id");
1412 b.HasOne("Content.Server.Database.Player", "Player")
1413 .WithMany("AdminNotesReceived")
1414 .HasForeignKey("PlayerUserId")
1415 .HasPrincipalKey("UserId")
1416 .OnDelete(DeleteBehavior.Cascade)
1417 .HasConstraintName("FK_admin_notes_player_player_user_id");
1419 b.HasOne("Content.Server.Database.Round", "Round")
1421 .HasForeignKey("RoundId")
1422 .HasConstraintName("FK_admin_notes_round_round_id");
1424 b.Navigation("CreatedBy");
1426 b.Navigation("DeletedBy");
1428 b.Navigation("LastEditedBy");
1430 b.Navigation("Player");
1432 b.Navigation("Round");
1435 modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
1437 b.HasOne("Content.Server.Database.AdminRank", "Rank")
1439 .HasForeignKey("AdminRankId")
1440 .OnDelete(DeleteBehavior.Cascade)
1442 .HasConstraintName("FK_admin_rank_flag_admin_rank_admin_rank_id");
1444 b.Navigation("Rank");
1447 modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b =>
1449 b.HasOne("Content.Server.Database.Player", "CreatedBy")
1450 .WithMany("AdminWatchlistsCreated")
1451 .HasForeignKey("CreatedById")
1452 .HasPrincipalKey("UserId")
1453 .OnDelete(DeleteBehavior.SetNull)
1454 .HasConstraintName("FK_admin_watchlists_player_created_by_id");
1456 b.HasOne("Content.Server.Database.Player", "DeletedBy")
1457 .WithMany("AdminWatchlistsDeleted")
1458 .HasForeignKey("DeletedById")
1459 .HasPrincipalKey("UserId")
1460 .OnDelete(DeleteBehavior.SetNull)
1461 .HasConstraintName("FK_admin_watchlists_player_deleted_by_id");
1463 b.HasOne("Content.Server.Database.Player", "LastEditedBy")
1464 .WithMany("AdminWatchlistsLastEdited")
1465 .HasForeignKey("LastEditedById")
1466 .HasPrincipalKey("UserId")
1467 .OnDelete(DeleteBehavior.SetNull)
1468 .HasConstraintName("FK_admin_watchlists_player_last_edited_by_id");
1470 b.HasOne("Content.Server.Database.Player", "Player")
1471 .WithMany("AdminWatchlistsReceived")
1472 .HasForeignKey("PlayerUserId")
1473 .HasPrincipalKey("UserId")
1474 .OnDelete(DeleteBehavior.Cascade)
1475 .HasConstraintName("FK_admin_watchlists_player_player_user_id");
1477 b.HasOne("Content.Server.Database.Round", "Round")
1479 .HasForeignKey("RoundId")
1480 .HasConstraintName("FK_admin_watchlists_round_round_id");
1482 b.Navigation("CreatedBy");
1484 b.Navigation("DeletedBy");
1486 b.Navigation("LastEditedBy");
1488 b.Navigation("Player");
1490 b.Navigation("Round");
1493 modelBuilder.Entity("Content.Server.Database.Antag", b =>
1495 b.HasOne("Content.Server.Database.Profile", "Profile")
1497 .HasForeignKey("ProfileId")
1498 .OnDelete(DeleteBehavior.Cascade)
1500 .HasConstraintName("FK_antag_profile_profile_id");
1502 b.Navigation("Profile");
1505 modelBuilder.Entity("Content.Server.Database.Job", b =>
1507 b.HasOne("Content.Server.Database.Profile", "Profile")
1509 .HasForeignKey("ProfileId")
1510 .OnDelete(DeleteBehavior.Cascade)
1512 .HasConstraintName("FK_job_profile_profile_id");
1514 b.Navigation("Profile");
1517 modelBuilder.Entity("Content.Server.Database.Profile", b =>
1519 b.HasOne("Content.Server.Database.Preference", "Preference")
1520 .WithMany("Profiles")
1521 .HasForeignKey("PreferenceId")
1522 .OnDelete(DeleteBehavior.Cascade)
1524 .HasConstraintName("FK_profile_preference_preference_id");
1526 b.Navigation("Preference");
1529 modelBuilder.Entity("Content.Server.Database.Round", b =>
1531 b.HasOne("Content.Server.Database.Server", "Server")
1533 .HasForeignKey("ServerId")
1534 .OnDelete(DeleteBehavior.Cascade)
1536 .HasConstraintName("FK_round_server_server_id");
1538 b.Navigation("Server");
1541 modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
1543 b.HasOne("Content.Server.Database.Player", "CreatedBy")
1544 .WithMany("AdminServerBansCreated")
1545 .HasForeignKey("BanningAdmin")
1546 .HasPrincipalKey("UserId")
1547 .OnDelete(DeleteBehavior.SetNull)
1548 .HasConstraintName("FK_server_ban_player_banning_admin");
1550 b.HasOne("Content.Server.Database.Player", "LastEditedBy")
1551 .WithMany("AdminServerBansLastEdited")
1552 .HasForeignKey("LastEditedById")
1553 .HasPrincipalKey("UserId")
1554 .OnDelete(DeleteBehavior.SetNull)
1555 .HasConstraintName("FK_server_ban_player_last_edited_by_id");
1557 b.HasOne("Content.Server.Database.Round", "Round")
1559 .HasForeignKey("RoundId")
1560 .HasConstraintName("FK_server_ban_round_round_id");
1562 b.Navigation("CreatedBy");
1564 b.Navigation("LastEditedBy");
1566 b.Navigation("Round");
1569 modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
1571 b.HasOne("Content.Server.Database.ServerBan", "Ban")
1572 .WithMany("BanHits")
1573 .HasForeignKey("BanId")
1574 .OnDelete(DeleteBehavior.Cascade)
1576 .HasConstraintName("FK_server_ban_hit_server_ban_ban_id");
1578 b.HasOne("Content.Server.Database.ConnectionLog", "Connection")
1579 .WithMany("BanHits")
1580 .HasForeignKey("ConnectionId")
1581 .OnDelete(DeleteBehavior.Cascade)
1583 .HasConstraintName("FK_server_ban_hit_connection_log_connection_id");
1585 b.Navigation("Ban");
1587 b.Navigation("Connection");
1590 modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
1592 b.HasOne("Content.Server.Database.Player", "CreatedBy")
1593 .WithMany("AdminServerRoleBansCreated")
1594 .HasForeignKey("BanningAdmin")
1595 .HasPrincipalKey("UserId")
1596 .OnDelete(DeleteBehavior.SetNull)
1597 .HasConstraintName("FK_server_role_ban_player_banning_admin");
1599 b.HasOne("Content.Server.Database.Player", "LastEditedBy")
1600 .WithMany("AdminServerRoleBansLastEdited")
1601 .HasForeignKey("LastEditedById")
1602 .HasPrincipalKey("UserId")
1603 .OnDelete(DeleteBehavior.SetNull)
1604 .HasConstraintName("FK_server_role_ban_player_last_edited_by_id");
1606 b.HasOne("Content.Server.Database.Round", "Round")
1608 .HasForeignKey("RoundId")
1609 .HasConstraintName("FK_server_role_ban_round_round_id");
1611 b.Navigation("CreatedBy");
1613 b.Navigation("LastEditedBy");
1615 b.Navigation("Round");
1618 modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
1620 b.HasOne("Content.Server.Database.ServerRoleBan", "Ban")
1622 .HasForeignKey("Content.Server.Database.ServerRoleUnban", "BanId")
1623 .OnDelete(DeleteBehavior.Cascade)
1625 .HasConstraintName("FK_server_role_unban_server_role_ban_ban_id");
1627 b.Navigation("Ban");
1630 modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
1632 b.HasOne("Content.Server.Database.ServerBan", "Ban")
1634 .HasForeignKey("Content.Server.Database.ServerUnban", "BanId")
1635 .OnDelete(DeleteBehavior.Cascade)
1637 .HasConstraintName("FK_server_unban_server_ban_ban_id");
1639 b.Navigation("Ban");
1642 modelBuilder.Entity("Content.Server.Database.Trait", b =>
1644 b.HasOne("Content.Server.Database.Profile", "Profile")
1646 .HasForeignKey("ProfileId")
1647 .OnDelete(DeleteBehavior.Cascade)
1649 .HasConstraintName("FK_trait_profile_profile_id");
1651 b.Navigation("Profile");
1654 modelBuilder.Entity("PlayerRound", b =>
1656 b.HasOne("Content.Server.Database.Player", null)
1658 .HasForeignKey("PlayersId")
1659 .OnDelete(DeleteBehavior.Cascade)
1661 .HasConstraintName("FK_player_round_player_players_id");
1663 b.HasOne("Content.Server.Database.Round", null)
1665 .HasForeignKey("RoundsId")
1666 .OnDelete(DeleteBehavior.Cascade)
1668 .HasConstraintName("FK_player_round_round_rounds_id");
1671 modelBuilder.Entity("Content.Server.Database.Admin", b =>
1673 b.Navigation("Flags");
1676 modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
1678 b.Navigation("Entities");
1680 b.Navigation("Players");
1683 modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
1685 b.Navigation("Admins");
1687 b.Navigation("Flags");
1690 modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
1692 b.Navigation("BanHits");
1695 modelBuilder.Entity("Content.Server.Database.Player", b =>
1697 b.Navigation("AdminLogs");
1699 b.Navigation("AdminMessagesCreated");
1701 b.Navigation("AdminMessagesDeleted");
1703 b.Navigation("AdminMessagesLastEdited");
1705 b.Navigation("AdminMessagesReceived");
1707 b.Navigation("AdminNotesCreated");
1709 b.Navigation("AdminNotesDeleted");
1711 b.Navigation("AdminNotesLastEdited");
1713 b.Navigation("AdminNotesReceived");
1715 b.Navigation("AdminServerBansCreated");
1717 b.Navigation("AdminServerBansLastEdited");
1719 b.Navigation("AdminServerRoleBansCreated");
1721 b.Navigation("AdminServerRoleBansLastEdited");
1723 b.Navigation("AdminWatchlistsCreated");
1725 b.Navigation("AdminWatchlistsDeleted");
1727 b.Navigation("AdminWatchlistsLastEdited");
1729 b.Navigation("AdminWatchlistsReceived");
1732 modelBuilder.Entity("Content.Server.Database.Preference", b =>
1734 b.Navigation("Profiles");
1737 modelBuilder.Entity("Content.Server.Database.Profile", b =>
1739 b.Navigation("Antags");
1741 b.Navigation("Jobs");
1743 b.Navigation("Traits");
1746 modelBuilder.Entity("Content.Server.Database.Round", b =>
1748 b.Navigation("AdminLogs");
1751 modelBuilder.Entity("Content.Server.Database.Server", b =>
1753 b.Navigation("Rounds");
1756 modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
1758 b.Navigation("BanHits");
1760 b.Navigation("Unban");
1763 modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
1765 b.Navigation("Unban");
1767 #pragma warning restore 612, 618