// <auto-generated /> using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Data.MigrationContext; namespace Data.Migrations.MySql { [DbContext(typeof(MySqlDatabaseContext))] [Migration("20190901180209_AddSnapHitCountToClientStatistics")] partial class AddSnapHitCountToClientStatistics { protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "2.2.6-servicing-10079"); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFACSnapshot", b => { b.Property<int>("SnapshotId") .ValueGeneratedOnAdd(); b.Property<bool>("Active"); b.Property<int>("ClientId"); b.Property<int>("CurrentSessionLength"); b.Property<double>("CurrentStrain"); b.Property<int>("CurrentViewAngleId"); b.Property<int>("Deaths"); b.Property<double>("Distance"); b.Property<double>("EloRating"); b.Property<int>("HitDestinationId"); b.Property<int>("HitLocation"); b.Property<int>("HitOriginId"); b.Property<int>("HitType"); b.Property<int>("Hits"); b.Property<int>("Kills"); b.Property<int>("LastStrainAngleId"); b.Property<double>("RecoilOffset"); b.Property<double>("SessionAngleOffset"); b.Property<double>("SessionSPM"); b.Property<int>("SessionScore"); b.Property<double>("StrainAngleBetween"); b.Property<int>("TimeSinceLastEvent"); b.Property<int>("WeaponId"); b.Property<DateTime>("When"); b.HasKey("SnapshotId"); b.HasIndex("ClientId"); b.HasIndex("CurrentViewAngleId"); b.HasIndex("HitDestinationId"); b.HasIndex("HitOriginId"); b.HasIndex("LastStrainAngleId"); b.ToTable("EFACSnapshot"); }); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFClientKill", b => { b.Property<long>("KillId") .ValueGeneratedOnAdd(); b.Property<bool>("Active"); b.Property<int>("AttackerId"); b.Property<int>("Damage"); b.Property<int?>("DeathOriginVector3Id"); b.Property<int>("DeathType"); b.Property<double>("Fraction"); b.Property<int>("HitLoc"); b.Property<bool>("IsKill"); b.Property<int?>("KillOriginVector3Id"); b.Property<int>("Map"); b.Property<long>("ServerId"); b.Property<int>("VictimId"); b.Property<int?>("ViewAnglesVector3Id"); b.Property<double>("VisibilityPercentage"); b.Property<int>("Weapon"); b.Property<DateTime>("When"); b.HasKey("KillId"); b.HasIndex("AttackerId"); b.HasIndex("DeathOriginVector3Id"); b.HasIndex("KillOriginVector3Id"); b.HasIndex("ServerId"); b.HasIndex("VictimId"); b.HasIndex("ViewAnglesVector3Id"); b.ToTable("EFClientKills"); }); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFClientMessage", b => { b.Property<long>("MessageId") .ValueGeneratedOnAdd(); b.Property<bool>("Active"); b.Property<int>("ClientId"); b.Property<string>("Message"); b.Property<long>("ServerId"); b.Property<DateTime>("TimeSent"); b.HasKey("MessageId"); b.HasIndex("ClientId"); b.HasIndex("ServerId"); b.HasIndex("TimeSent"); b.ToTable("EFClientMessages"); }); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFClientRatingHistory", b => { b.Property<int>("RatingHistoryId") .ValueGeneratedOnAdd(); b.Property<bool>("Active"); b.Property<int>("ClientId"); b.HasKey("RatingHistoryId"); b.HasIndex("ClientId"); b.ToTable("EFClientRatingHistory"); }); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFClientStatistics", b => { b.Property<int>("ClientId"); b.Property<long>("ServerId"); b.Property<bool>("Active"); b.Property<double>("AverageRecoilOffset"); b.Property<double>("AverageSnapValue"); b.Property<int>("Deaths"); b.Property<double>("EloRating"); b.Property<int>("Kills"); b.Property<double>("MaxStrain"); b.Property<double>("RollingWeightedKDR"); b.Property<double>("SPM"); b.Property<double>("Skill"); b.Property<int>("SnapHitCount"); b.Property<int>("TimePlayed"); b.Property<double>("VisionAverage"); b.HasKey("ClientId", "ServerId"); b.HasIndex("ServerId"); b.ToTable("EFClientStatistics"); }); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFHitLocationCount", b => { b.Property<int>("HitLocationCountId") .ValueGeneratedOnAdd(); b.Property<bool>("Active"); b.Property<int>("ClientId") .HasColumnName("EFClientStatistics_ClientId"); b.Property<int>("HitCount"); b.Property<float>("HitOffsetAverage"); b.Property<int>("Location"); b.Property<float>("MaxAngleDistance"); b.Property<long>("ServerId") .HasColumnName("EFClientStatistics_ServerId"); b.HasKey("HitLocationCountId"); b.HasIndex("ServerId"); b.HasIndex("ClientId", "ServerId"); b.ToTable("EFHitLocationCounts"); }); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFRating", b => { b.Property<int>("RatingId") .ValueGeneratedOnAdd(); b.Property<bool>("Active"); b.Property<int>("ActivityAmount"); b.Property<bool>("Newest"); b.Property<double>("Performance"); b.Property<int>("Ranking"); b.Property<int>("RatingHistoryId"); b.Property<long?>("ServerId"); b.Property<DateTime>("When"); b.HasKey("RatingId"); b.HasIndex("RatingHistoryId"); b.HasIndex("ServerId"); b.HasIndex("Performance", "Ranking", "When"); b.ToTable("EFRating"); }); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFServer", b => { b.Property<long>("ServerId"); b.Property<bool>("Active"); b.Property<string>("EndPoint"); b.Property<int?>("GameName"); b.Property<int>("Port"); b.HasKey("ServerId"); b.ToTable("EFServers"); }); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFServerStatistics", b => { b.Property<int>("StatisticId") .ValueGeneratedOnAdd(); b.Property<bool>("Active"); b.Property<long>("ServerId"); b.Property<long>("TotalKills"); b.Property<long>("TotalPlayTime"); b.HasKey("StatisticId"); b.HasIndex("ServerId"); b.ToTable("EFServerStatistics"); }); modelBuilder.Entity("SharedLibraryCore.Database.Models.EFAlias", b => { b.Property<int>("AliasId") .ValueGeneratedOnAdd(); b.Property<bool>("Active"); b.Property<DateTime>("DateAdded"); b.Property<int?>("IPAddress"); b.Property<int>("LinkId"); b.Property<string>("Name") .IsRequired() .HasMaxLength(24); b.Property<string>("SearchableName") .HasMaxLength(24); b.HasKey("AliasId"); b.HasIndex("IPAddress"); b.HasIndex("LinkId"); b.HasIndex("Name"); b.HasIndex("SearchableName"); b.ToTable("EFAlias"); }); modelBuilder.Entity("SharedLibraryCore.Database.Models.EFAliasLink", b => { b.Property<int>("AliasLinkId") .ValueGeneratedOnAdd(); b.Property<bool>("Active"); b.HasKey("AliasLinkId"); b.ToTable("EFAliasLinks"); }); modelBuilder.Entity("SharedLibraryCore.Database.Models.EFChangeHistory", b => { b.Property<int>("ChangeHistoryId") .ValueGeneratedOnAdd(); b.Property<bool>("Active"); b.Property<string>("Comment") .HasMaxLength(128); b.Property<string>("CurrentValue"); b.Property<int>("OriginEntityId"); b.Property<string>("PreviousValue"); b.Property<int>("TargetEntityId"); b.Property<DateTime>("TimeChanged"); b.Property<int>("TypeOfChange"); b.HasKey("ChangeHistoryId"); b.ToTable("EFChangeHistory"); }); modelBuilder.Entity("SharedLibraryCore.Database.Models.EFClient", b => { b.Property<int>("ClientId") .ValueGeneratedOnAdd(); b.Property<bool>("Active"); b.Property<int>("AliasLinkId"); b.Property<int>("Connections"); b.Property<int>("CurrentAliasId"); b.Property<DateTime>("FirstConnection"); b.Property<DateTime>("LastConnection"); b.Property<int>("Level"); b.Property<bool>("Masked"); b.Property<long>("NetworkId"); b.Property<string>("Password"); b.Property<string>("PasswordSalt"); b.Property<int>("TotalConnectionTime"); b.HasKey("ClientId"); b.HasIndex("AliasLinkId"); b.HasIndex("CurrentAliasId"); b.HasIndex("NetworkId") .IsUnique(); b.ToTable("EFClients"); }); modelBuilder.Entity("SharedLibraryCore.Database.Models.EFMeta", b => { b.Property<int>("MetaId") .ValueGeneratedOnAdd(); b.Property<bool>("Active"); b.Property<int>("ClientId"); b.Property<DateTime>("Created"); b.Property<string>("Extra"); b.Property<string>("Key") .IsRequired() .HasMaxLength(32); b.Property<DateTime>("Updated"); b.Property<string>("Value") .IsRequired(); b.HasKey("MetaId"); b.HasIndex("ClientId"); b.HasIndex("Key"); b.ToTable("EFMeta"); }); modelBuilder.Entity("SharedLibraryCore.Database.Models.EFPenalty", b => { b.Property<int>("PenaltyId") .ValueGeneratedOnAdd(); b.Property<bool>("Active"); b.Property<string>("AutomatedOffense"); b.Property<DateTime?>("Expires"); b.Property<bool>("IsEvadedOffense"); b.Property<int>("LinkId"); b.Property<int>("OffenderId"); b.Property<string>("Offense") .IsRequired(); b.Property<int>("PunisherId"); b.Property<int>("Type"); b.Property<DateTime>("When"); b.HasKey("PenaltyId"); b.HasIndex("LinkId"); b.HasIndex("OffenderId"); b.HasIndex("PunisherId"); b.ToTable("EFPenalties"); }); modelBuilder.Entity("SharedLibraryCore.Helpers.Vector3", b => { b.Property<int>("Vector3Id") .ValueGeneratedOnAdd(); b.Property<int?>("EFACSnapshotSnapshotId"); b.Property<float>("X"); b.Property<float>("Y"); b.Property<float>("Z"); b.HasKey("Vector3Id"); b.HasIndex("EFACSnapshotSnapshotId"); b.ToTable("Vector3"); }); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFACSnapshot", b => { b.HasOne("SharedLibraryCore.Database.Models.EFClient", "Client") .WithMany() .HasForeignKey("ClientId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("SharedLibraryCore.Helpers.Vector3", "CurrentViewAngle") .WithMany() .HasForeignKey("CurrentViewAngleId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("SharedLibraryCore.Helpers.Vector3", "HitDestination") .WithMany() .HasForeignKey("HitDestinationId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("SharedLibraryCore.Helpers.Vector3", "HitOrigin") .WithMany() .HasForeignKey("HitOriginId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("SharedLibraryCore.Helpers.Vector3", "LastStrainAngle") .WithMany() .HasForeignKey("LastStrainAngleId") .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFClientKill", b => { b.HasOne("SharedLibraryCore.Database.Models.EFClient", "Attacker") .WithMany() .HasForeignKey("AttackerId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("SharedLibraryCore.Helpers.Vector3", "DeathOrigin") .WithMany() .HasForeignKey("DeathOriginVector3Id"); b.HasOne("SharedLibraryCore.Helpers.Vector3", "KillOrigin") .WithMany() .HasForeignKey("KillOriginVector3Id"); b.HasOne("IW4MAdmin.Plugins.Stats.Models.EFServer", "Server") .WithMany() .HasForeignKey("ServerId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("SharedLibraryCore.Database.Models.EFClient", "Victim") .WithMany() .HasForeignKey("VictimId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("SharedLibraryCore.Helpers.Vector3", "ViewAngles") .WithMany() .HasForeignKey("ViewAnglesVector3Id"); }); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFClientMessage", b => { b.HasOne("SharedLibraryCore.Database.Models.EFClient", "Client") .WithMany() .HasForeignKey("ClientId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("IW4MAdmin.Plugins.Stats.Models.EFServer", "Server") .WithMany() .HasForeignKey("ServerId") .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFClientRatingHistory", b => { b.HasOne("SharedLibraryCore.Database.Models.EFClient", "Client") .WithMany() .HasForeignKey("ClientId") .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFClientStatistics", b => { b.HasOne("SharedLibraryCore.Database.Models.EFClient", "Client") .WithMany() .HasForeignKey("ClientId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("IW4MAdmin.Plugins.Stats.Models.EFServer", "Server") .WithMany() .HasForeignKey("ServerId") .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFHitLocationCount", b => { b.HasOne("SharedLibraryCore.Database.Models.EFClient", "Client") .WithMany() .HasForeignKey("ClientId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("IW4MAdmin.Plugins.Stats.Models.EFServer", "Server") .WithMany() .HasForeignKey("ServerId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("IW4MAdmin.Plugins.Stats.Models.EFClientStatistics") .WithMany("HitLocations") .HasForeignKey("ClientId", "ServerId") .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFRating", b => { b.HasOne("IW4MAdmin.Plugins.Stats.Models.EFClientRatingHistory", "RatingHistory") .WithMany("Ratings") .HasForeignKey("RatingHistoryId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("IW4MAdmin.Plugins.Stats.Models.EFServer", "Server") .WithMany() .HasForeignKey("ServerId"); }); modelBuilder.Entity("IW4MAdmin.Plugins.Stats.Models.EFServerStatistics", b => { b.HasOne("IW4MAdmin.Plugins.Stats.Models.EFServer", "Server") .WithMany() .HasForeignKey("ServerId") .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("SharedLibraryCore.Database.Models.EFAlias", b => { b.HasOne("SharedLibraryCore.Database.Models.EFAliasLink", "Link") .WithMany("Children") .HasForeignKey("LinkId") .OnDelete(DeleteBehavior.Restrict); }); modelBuilder.Entity("SharedLibraryCore.Database.Models.EFClient", b => { b.HasOne("SharedLibraryCore.Database.Models.EFAliasLink", "AliasLink") .WithMany() .HasForeignKey("AliasLinkId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("SharedLibraryCore.Database.Models.EFAlias", "CurrentAlias") .WithMany() .HasForeignKey("CurrentAliasId") .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("SharedLibraryCore.Database.Models.EFMeta", b => { b.HasOne("SharedLibraryCore.Database.Models.EFClient", "Client") .WithMany("Meta") .HasForeignKey("ClientId") .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("SharedLibraryCore.Database.Models.EFPenalty", b => { b.HasOne("SharedLibraryCore.Database.Models.EFAliasLink", "Link") .WithMany("ReceivedPenalties") .HasForeignKey("LinkId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("SharedLibraryCore.Database.Models.EFClient", "Offender") .WithMany("ReceivedPenalties") .HasForeignKey("OffenderId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("SharedLibraryCore.Database.Models.EFClient", "Punisher") .WithMany("AdministeredPenalties") .HasForeignKey("PunisherId") .OnDelete(DeleteBehavior.Restrict); }); modelBuilder.Entity("SharedLibraryCore.Helpers.Vector3", b => { b.HasOne("IW4MAdmin.Plugins.Stats.Models.EFACSnapshot") .WithMany("PredictedViewAngles") .HasForeignKey("EFACSnapshotSnapshotId"); }); #pragma warning restore 612, 618 } } }