//
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using osu.Game.Database;
namespace osu.Game.Migrations
{
[DbContext(typeof(OsuDbContext))]
partial class OsuDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "2.2.1-servicing-10028");
modelBuilder.Entity("osu.Game.Beatmaps.BeatmapDifficulty", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd();
b.Property("ApproachRate");
b.Property("CircleSize");
b.Property("DrainRate");
b.Property("OverallDifficulty");
b.Property("SliderMultiplier");
b.Property("SliderTickRate");
b.HasKey("ID");
b.ToTable("BeatmapDifficulty");
});
modelBuilder.Entity("osu.Game.Beatmaps.BeatmapInfo", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd();
b.Property("AudioLeadIn");
b.Property("BaseDifficultyID");
b.Property("BeatDivisor");
b.Property("BeatmapSetInfoID");
b.Property("Countdown");
b.Property("DistanceSpacing");
b.Property("GridSize");
b.Property("Hash");
b.Property("Hidden");
b.Property("LetterboxInBreaks");
b.Property("MD5Hash");
b.Property("MetadataID");
b.Property("OnlineBeatmapID");
b.Property("Path");
b.Property("RulesetID");
b.Property("SpecialStyle");
b.Property("StackLeniency");
b.Property("StarDifficulty");
b.Property("Status");
b.Property("StoredBookmarks");
b.Property("TimelineZoom");
b.Property("Version");
b.Property("WidescreenStoryboard");
b.HasKey("ID");
b.HasIndex("BaseDifficultyID");
b.HasIndex("BeatmapSetInfoID");
b.HasIndex("Hash");
b.HasIndex("MD5Hash");
b.HasIndex("MetadataID");
b.HasIndex("OnlineBeatmapID")
.IsUnique();
b.HasIndex("RulesetID");
b.ToTable("BeatmapInfo");
});
modelBuilder.Entity("osu.Game.Beatmaps.BeatmapMetadata", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd();
b.Property("Artist");
b.Property("ArtistUnicode");
b.Property("AudioFile");
b.Property("AuthorString")
.HasColumnName("Author");
b.Property("BackgroundFile");
b.Property("PreviewTime");
b.Property("Source");
b.Property("Tags");
b.Property("Title");
b.Property("TitleUnicode");
b.HasKey("ID");
b.ToTable("BeatmapMetadata");
});
modelBuilder.Entity("osu.Game.Beatmaps.BeatmapSetFileInfo", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd();
b.Property("BeatmapSetInfoID");
b.Property("FileInfoID");
b.Property("Filename")
.IsRequired();
b.HasKey("ID");
b.HasIndex("BeatmapSetInfoID");
b.HasIndex("FileInfoID");
b.ToTable("BeatmapSetFileInfo");
});
modelBuilder.Entity("osu.Game.Beatmaps.BeatmapSetInfo", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd();
b.Property("DeletePending");
b.Property("Hash");
b.Property("MetadataID");
b.Property("OnlineBeatmapSetID");
b.Property("Protected");
b.Property("Status");
b.HasKey("ID");
b.HasIndex("DeletePending");
b.HasIndex("Hash")
.IsUnique();
b.HasIndex("MetadataID");
b.HasIndex("OnlineBeatmapSetID")
.IsUnique();
b.ToTable("BeatmapSetInfo");
});
modelBuilder.Entity("osu.Game.Configuration.DatabasedSetting", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd();
b.Property("IntKey")
.HasColumnName("Key");
b.Property("RulesetID");
b.Property("StringValue")
.HasColumnName("Value");
b.Property("Variant");
b.HasKey("ID");
b.HasIndex("RulesetID", "Variant");
b.ToTable("Settings");
});
modelBuilder.Entity("osu.Game.IO.FileInfo", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd();
b.Property("Hash");
b.Property("ReferenceCount");
b.HasKey("ID");
b.HasIndex("Hash")
.IsUnique();
b.HasIndex("ReferenceCount");
b.ToTable("FileInfo");
});
modelBuilder.Entity("osu.Game.Input.Bindings.DatabasedKeyBinding", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd();
b.Property("IntAction")
.HasColumnName("Action");
b.Property("KeysString")
.HasColumnName("Keys");
b.Property("RulesetID");
b.Property("Variant");
b.HasKey("ID");
b.HasIndex("IntAction");
b.HasIndex("RulesetID", "Variant");
b.ToTable("KeyBinding");
});
modelBuilder.Entity("osu.Game.Rulesets.RulesetInfo", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd();
b.Property("Available");
b.Property("InstantiationInfo");
b.Property("Name");
b.Property("ShortName");
b.HasKey("ID");
b.HasIndex("Available");
b.HasIndex("ShortName")
.IsUnique();
b.ToTable("RulesetInfo");
});
modelBuilder.Entity("osu.Game.Scoring.ScoreFileInfo", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd();
b.Property("FileInfoID");
b.Property("Filename")
.IsRequired();
b.Property("ScoreInfoID");
b.HasKey("ID");
b.HasIndex("FileInfoID");
b.HasIndex("ScoreInfoID");
b.ToTable("ScoreFileInfo");
});
modelBuilder.Entity("osu.Game.Scoring.ScoreInfo", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd();
b.Property("Accuracy")
.HasColumnType("DECIMAL(1,4)");
b.Property("BeatmapInfoID");
b.Property("Combo");
b.Property("Date");
b.Property("DeletePending");
b.Property("Hash");
b.Property("MaxCombo");
b.Property("ModsJson")
.HasColumnName("Mods");
b.Property("OnlineScoreID");
b.Property("PP");
b.Property("Rank");
b.Property("RulesetID");
b.Property("StatisticsJson")
.HasColumnName("Statistics");
b.Property("TotalScore");
b.Property("UserID")
.HasColumnName("UserID");
b.Property("UserString")
.HasColumnName("User");
b.HasKey("ID");
b.HasIndex("BeatmapInfoID");
b.HasIndex("OnlineScoreID")
.IsUnique();
b.HasIndex("RulesetID");
b.ToTable("ScoreInfo");
});
modelBuilder.Entity("osu.Game.Skinning.SkinFileInfo", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd();
b.Property("FileInfoID");
b.Property("Filename")
.IsRequired();
b.Property("SkinInfoID");
b.HasKey("ID");
b.HasIndex("FileInfoID");
b.HasIndex("SkinInfoID");
b.ToTable("SkinFileInfo");
});
modelBuilder.Entity("osu.Game.Skinning.SkinInfo", b =>
{
b.Property("ID")
.ValueGeneratedOnAdd();
b.Property("Creator");
b.Property("DeletePending");
b.Property("Hash");
b.Property("Name");
b.HasKey("ID");
b.HasIndex("DeletePending");
b.HasIndex("Hash")
.IsUnique();
b.ToTable("SkinInfo");
});
modelBuilder.Entity("osu.Game.Beatmaps.BeatmapInfo", b =>
{
b.HasOne("osu.Game.Beatmaps.BeatmapDifficulty", "BaseDifficulty")
.WithMany()
.HasForeignKey("BaseDifficultyID")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("osu.Game.Beatmaps.BeatmapSetInfo", "BeatmapSet")
.WithMany("Beatmaps")
.HasForeignKey("BeatmapSetInfoID")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("osu.Game.Beatmaps.BeatmapMetadata", "Metadata")
.WithMany("Beatmaps")
.HasForeignKey("MetadataID");
b.HasOne("osu.Game.Rulesets.RulesetInfo", "Ruleset")
.WithMany()
.HasForeignKey("RulesetID")
.OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity("osu.Game.Beatmaps.BeatmapSetFileInfo", b =>
{
b.HasOne("osu.Game.Beatmaps.BeatmapSetInfo")
.WithMany("Files")
.HasForeignKey("BeatmapSetInfoID")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("osu.Game.IO.FileInfo", "FileInfo")
.WithMany()
.HasForeignKey("FileInfoID")
.OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity("osu.Game.Beatmaps.BeatmapSetInfo", b =>
{
b.HasOne("osu.Game.Beatmaps.BeatmapMetadata", "Metadata")
.WithMany("BeatmapSets")
.HasForeignKey("MetadataID");
});
modelBuilder.Entity("osu.Game.Scoring.ScoreFileInfo", b =>
{
b.HasOne("osu.Game.IO.FileInfo", "FileInfo")
.WithMany()
.HasForeignKey("FileInfoID")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("osu.Game.Scoring.ScoreInfo")
.WithMany("Files")
.HasForeignKey("ScoreInfoID");
});
modelBuilder.Entity("osu.Game.Scoring.ScoreInfo", b =>
{
b.HasOne("osu.Game.Beatmaps.BeatmapInfo", "Beatmap")
.WithMany("Scores")
.HasForeignKey("BeatmapInfoID")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("osu.Game.Rulesets.RulesetInfo", "Ruleset")
.WithMany()
.HasForeignKey("RulesetID")
.OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity("osu.Game.Skinning.SkinFileInfo", b =>
{
b.HasOne("osu.Game.IO.FileInfo", "FileInfo")
.WithMany()
.HasForeignKey("FileInfoID")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("osu.Game.Skinning.SkinInfo")
.WithMany("Files")
.HasForeignKey("SkinInfoID")
.OnDelete(DeleteBehavior.Cascade);
});
#pragma warning restore 612, 618
}
}
}