From 65cb1961d903ca8076592f4cb6f8097c56714579 Mon Sep 17 00:00:00 2001 From: BtbN Date: Thu, 13 Jun 2019 19:08:53 +0200 Subject: [PATCH] Use migrations --- ClanServer/ClanServerContext.cs | 8 +- .../20190613170828_InitialCreate.Designer.cs | 356 ++++++++++++++++++ .../20190613170828_InitialCreate.cs | 337 +++++++++++++++++ .../ClanServerContextModelSnapshot.cs | 354 +++++++++++++++++ ClanServer/Startup.cs | 6 +- 5 files changed, 1054 insertions(+), 7 deletions(-) create mode 100644 ClanServer/Migrations/20190613170828_InitialCreate.Designer.cs create mode 100644 ClanServer/Migrations/20190613170828_InitialCreate.cs create mode 100644 ClanServer/Migrations/ClanServerContextModelSnapshot.cs diff --git a/ClanServer/ClanServerContext.cs b/ClanServer/ClanServerContext.cs index ed8450b..7d4eb11 100644 --- a/ClanServer/ClanServerContext.cs +++ b/ClanServer/ClanServerContext.cs @@ -29,16 +29,18 @@ namespace ClanServer .HasIndex(card => card.DataId); var jbScoreEntity = modelBuilder.Entity(); + jbScoreEntity + .HasIndex(score => score.ProfileID); jbScoreEntity .HasIndex(score => new { score.ProfileID, score.MusicID, score.Seq }); jbScoreEntity .HasIndex(score => new { score.ProfileID, score.MusicID }); jbScoreEntity .HasIndex(score => new { score.MusicID, score.Seq }); - jbScoreEntity - .HasIndex(score => score.ProfileID); var jbHighScoreEntity = modelBuilder.Entity(); + jbHighScoreEntity + .HasIndex(score => score.ProfileID); jbHighScoreEntity .HasIndex(score => new { score.ProfileID, score.MusicID, score.Seq }) .IsUnique(); @@ -46,8 +48,6 @@ namespace ClanServer .HasIndex(score => new { score.ProfileID, score.MusicID }); jbHighScoreEntity .HasIndex(score => new { score.MusicID, score.Seq }); - jbHighScoreEntity - .HasIndex(score => score.ProfileID); } public DbSet Players { get; set; } diff --git a/ClanServer/Migrations/20190613170828_InitialCreate.Designer.cs b/ClanServer/Migrations/20190613170828_InitialCreate.Designer.cs new file mode 100644 index 0000000..74c23ef --- /dev/null +++ b/ClanServer/Migrations/20190613170828_InitialCreate.Designer.cs @@ -0,0 +1,356 @@ +// +using System; +using ClanServer; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +namespace ClanServer.Migrations +{ + [DbContext(typeof(ClanServerContext))] + [Migration("20190613170828_InitialCreate")] + partial class InitialCreate + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "2.2.4-servicing-10062"); + + modelBuilder.Entity("ClanServer.Models.Card", b => + { + b.Property("ID") + .ValueGeneratedOnAdd(); + + b.Property("CardId") + .IsRequired() + .HasMaxLength(16); + + b.Property("DataId") + .IsRequired() + .HasMaxLength(16); + + b.Property("PlayerID"); + + b.Property("RefId") + .IsRequired() + .HasMaxLength(16); + + b.HasKey("ID"); + + b.HasIndex("CardId") + .IsUnique(); + + b.HasIndex("DataId"); + + b.HasIndex("PlayerID"); + + b.HasIndex("RefId") + .IsUnique(); + + b.ToTable("Cards"); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatClanJubility", b => + { + b.Property("ID") + .ValueGeneratedOnAdd(); + + b.Property("IsHardMode"); + + b.Property("MusicID"); + + b.Property("ProfileID"); + + b.Property("Score"); + + b.Property("Seq"); + + b.Property("Value"); + + b.HasKey("ID"); + + b.HasIndex("ProfileID"); + + b.ToTable("JubeatClanJubility"); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatClanProfileData", b => + { + b.Property("ID") + .ValueGeneratedOnAdd(); + + b.Property("BeatCount"); + + b.Property("BonusTunePlayed"); + + b.Property("BonusTunePoints"); + + b.Property("ClearCount"); + + b.Property("ExCount"); + + b.Property("FcCount"); + + b.Property("HouseNo1"); + + b.Property("HouseNo2"); + + b.Property("JboxPoints"); + + b.Property("JubilityParam"); + + b.Property("MatchCount"); + + b.Property("PlayTime"); + + b.Property("ProfileID"); + + b.Property("SaveCount"); + + b.Property("SavedCount"); + + b.Property("Section"); + + b.Property("Street"); + + b.Property("Team"); + + b.Property("TuneCount"); + + b.HasKey("ID"); + + b.HasIndex("ProfileID") + .IsUnique(); + + b.ToTable("JubeatClanProfileData"); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatClanSettings", b => + { + b.Property("ID") + .ValueGeneratedOnAdd(); + + b.Property("Category"); + + b.Property("ComboDisplay"); + + b.Property("EmblemBackground"); + + b.Property("EmblemBalloon"); + + b.Property("EmblemEffect"); + + b.Property("EmblemMain"); + + b.Property("EmblemOrnament"); + + b.Property("ExpertOption"); + + b.Property("Hard"); + + b.Property("Hazard"); + + b.Property("Marker"); + + b.Property("Matching"); + + b.Property("Parts"); + + b.Property("ProfileID"); + + b.Property("RankSort"); + + b.Property("Sort"); + + b.Property("Theme"); + + b.Property("Title"); + + b.HasKey("ID"); + + b.HasIndex("ProfileID") + .IsUnique(); + + b.ToTable("JubeatClanSettings"); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatHighscore", b => + { + b.Property("ID") + .ValueGeneratedOnAdd(); + + b.Property("Bar") + .HasMaxLength(30); + + b.Property("Clear"); + + b.Property("ClearCount"); + + b.Property("ExcCount"); + + b.Property("FcCount"); + + b.Property("MusicID"); + + b.Property("PlayCount"); + + b.Property("ProfileID"); + + b.Property("Score"); + + b.Property("Seq"); + + b.Property("Timestamp"); + + b.HasKey("ID"); + + b.HasIndex("ProfileID"); + + b.HasIndex("MusicID", "Seq"); + + b.HasIndex("ProfileID", "MusicID"); + + b.HasIndex("ProfileID", "MusicID", "Seq") + .IsUnique(); + + b.ToTable("JubeatHighscores"); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatProfile", b => + { + b.Property("ID") + .ValueGeneratedOnAdd(); + + b.Property("Name") + .IsRequired(); + + b.Property("PlayerID"); + + b.HasKey("ID"); + + b.HasIndex("PlayerID") + .IsUnique(); + + b.ToTable("JubeatProfiles"); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatScore", b => + { + b.Property("ID") + .ValueGeneratedOnAdd(); + + b.Property("Bar") + .HasMaxLength(30); + + b.Property("Clear"); + + b.Property("IsHardMode"); + + b.Property("IsHazardMode"); + + b.Property("MusicID"); + + b.Property("NumGood"); + + b.Property("NumGreat"); + + b.Property("NumMiss"); + + b.Property("NumPerfect"); + + b.Property("NumPoor"); + + b.Property("ProfileID"); + + b.Property("Score"); + + b.Property("Seq"); + + b.Property("Timestamp"); + + b.HasKey("ID"); + + b.HasIndex("ProfileID"); + + b.HasIndex("MusicID", "Seq"); + + b.HasIndex("ProfileID", "MusicID"); + + b.HasIndex("ProfileID", "MusicID", "Seq"); + + b.ToTable("JubeatScores"); + }); + + modelBuilder.Entity("ClanServer.Models.Player", b => + { + b.Property("ID") + .ValueGeneratedOnAdd(); + + b.Property("Passwd"); + + b.HasKey("ID"); + + b.ToTable("Players"); + }); + + modelBuilder.Entity("ClanServer.Models.Card", b => + { + b.HasOne("ClanServer.Models.Player", "Player") + .WithMany("Cards") + .HasForeignKey("PlayerID") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatClanJubility", b => + { + b.HasOne("ClanServer.Models.JubeatProfile", "Profile") + .WithMany("Jubilitys") + .HasForeignKey("ProfileID") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatClanProfileData", b => + { + b.HasOne("ClanServer.Models.JubeatProfile", "Profile") + .WithOne("ClanData") + .HasForeignKey("ClanServer.Models.JubeatClanProfileData", "ProfileID") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatClanSettings", b => + { + b.HasOne("ClanServer.Models.JubeatProfile", "Profile") + .WithOne("ClanSettings") + .HasForeignKey("ClanServer.Models.JubeatClanSettings", "ProfileID") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatHighscore", b => + { + b.HasOne("ClanServer.Models.JubeatProfile", "Profile") + .WithMany("Highscores") + .HasForeignKey("ProfileID") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatProfile", b => + { + b.HasOne("ClanServer.Models.Player", "Player") + .WithOne("JubeatProfile") + .HasForeignKey("ClanServer.Models.JubeatProfile", "PlayerID") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatScore", b => + { + b.HasOne("ClanServer.Models.JubeatProfile", "Profile") + .WithMany("Scores") + .HasForeignKey("ProfileID") + .OnDelete(DeleteBehavior.Cascade); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/ClanServer/Migrations/20190613170828_InitialCreate.cs b/ClanServer/Migrations/20190613170828_InitialCreate.cs new file mode 100644 index 0000000..504e5ae --- /dev/null +++ b/ClanServer/Migrations/20190613170828_InitialCreate.cs @@ -0,0 +1,337 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace ClanServer.Migrations +{ + public partial class InitialCreate : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Players", + columns: table => new + { + ID = table.Column(nullable: false) + .Annotation("Sqlite:Autoincrement", true), + Passwd = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Players", x => x.ID); + }); + + migrationBuilder.CreateTable( + name: "Cards", + columns: table => new + { + ID = table.Column(nullable: false) + .Annotation("Sqlite:Autoincrement", true), + PlayerID = table.Column(nullable: false), + CardId = table.Column(maxLength: 16, nullable: false), + DataId = table.Column(maxLength: 16, nullable: false), + RefId = table.Column(maxLength: 16, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Cards", x => x.ID); + table.ForeignKey( + name: "FK_Cards_Players_PlayerID", + column: x => x.PlayerID, + principalTable: "Players", + principalColumn: "ID", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "JubeatProfiles", + columns: table => new + { + ID = table.Column(nullable: false) + .Annotation("Sqlite:Autoincrement", true), + PlayerID = table.Column(nullable: false), + Name = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_JubeatProfiles", x => x.ID); + table.ForeignKey( + name: "FK_JubeatProfiles_Players_PlayerID", + column: x => x.PlayerID, + principalTable: "Players", + principalColumn: "ID", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "JubeatClanJubility", + columns: table => new + { + ID = table.Column(nullable: false) + .Annotation("Sqlite:Autoincrement", true), + ProfileID = table.Column(nullable: false), + MusicID = table.Column(nullable: false), + Seq = table.Column(nullable: false), + Score = table.Column(nullable: false), + Value = table.Column(nullable: false), + IsHardMode = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_JubeatClanJubility", x => x.ID); + table.ForeignKey( + name: "FK_JubeatClanJubility_JubeatProfiles_ProfileID", + column: x => x.ProfileID, + principalTable: "JubeatProfiles", + principalColumn: "ID", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "JubeatClanProfileData", + columns: table => new + { + ID = table.Column(nullable: false) + .Annotation("Sqlite:Autoincrement", true), + ProfileID = table.Column(nullable: false), + Team = table.Column(nullable: false), + Street = table.Column(nullable: false), + Section = table.Column(nullable: false), + HouseNo1 = table.Column(nullable: false), + HouseNo2 = table.Column(nullable: false), + PlayTime = table.Column(nullable: false), + TuneCount = table.Column(nullable: false), + ClearCount = table.Column(nullable: false), + FcCount = table.Column(nullable: false), + ExCount = table.Column(nullable: false), + MatchCount = table.Column(nullable: false), + BeatCount = table.Column(nullable: false), + SaveCount = table.Column(nullable: false), + SavedCount = table.Column(nullable: false), + BonusTunePoints = table.Column(nullable: false), + BonusTunePlayed = table.Column(nullable: false), + JubilityParam = table.Column(nullable: false), + JboxPoints = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_JubeatClanProfileData", x => x.ID); + table.ForeignKey( + name: "FK_JubeatClanProfileData_JubeatProfiles_ProfileID", + column: x => x.ProfileID, + principalTable: "JubeatProfiles", + principalColumn: "ID", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "JubeatClanSettings", + columns: table => new + { + ID = table.Column(nullable: false) + .Annotation("Sqlite:Autoincrement", true), + ProfileID = table.Column(nullable: false), + ExpertOption = table.Column(nullable: false), + Sort = table.Column(nullable: false), + Category = table.Column(nullable: false), + Marker = table.Column(nullable: false), + Theme = table.Column(nullable: false), + RankSort = table.Column(nullable: false), + ComboDisplay = table.Column(nullable: false), + Matching = table.Column(nullable: false), + Hard = table.Column(nullable: false), + Hazard = table.Column(nullable: false), + Title = table.Column(nullable: false), + Parts = table.Column(nullable: false), + EmblemBackground = table.Column(nullable: false), + EmblemMain = table.Column(nullable: false), + EmblemOrnament = table.Column(nullable: false), + EmblemEffect = table.Column(nullable: false), + EmblemBalloon = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_JubeatClanSettings", x => x.ID); + table.ForeignKey( + name: "FK_JubeatClanSettings_JubeatProfiles_ProfileID", + column: x => x.ProfileID, + principalTable: "JubeatProfiles", + principalColumn: "ID", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "JubeatHighscores", + columns: table => new + { + ID = table.Column(nullable: false) + .Annotation("Sqlite:Autoincrement", true), + ProfileID = table.Column(nullable: false), + Timestamp = table.Column(nullable: false), + MusicID = table.Column(nullable: false), + Seq = table.Column(nullable: false), + Score = table.Column(nullable: false), + Clear = table.Column(nullable: false), + PlayCount = table.Column(nullable: false), + ClearCount = table.Column(nullable: false), + FcCount = table.Column(nullable: false), + ExcCount = table.Column(nullable: false), + Bar = table.Column(maxLength: 30, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_JubeatHighscores", x => x.ID); + table.ForeignKey( + name: "FK_JubeatHighscores_JubeatProfiles_ProfileID", + column: x => x.ProfileID, + principalTable: "JubeatProfiles", + principalColumn: "ID", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "JubeatScores", + columns: table => new + { + ID = table.Column(nullable: false) + .Annotation("Sqlite:Autoincrement", true), + ProfileID = table.Column(nullable: false), + Timestamp = table.Column(nullable: false), + MusicID = table.Column(nullable: false), + Seq = table.Column(nullable: false), + Score = table.Column(nullable: false), + Clear = table.Column(nullable: false), + NumPerfect = table.Column(nullable: false), + NumGreat = table.Column(nullable: false), + NumGood = table.Column(nullable: false), + NumPoor = table.Column(nullable: false), + NumMiss = table.Column(nullable: false), + IsHardMode = table.Column(nullable: false), + IsHazardMode = table.Column(nullable: false), + Bar = table.Column(maxLength: 30, nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_JubeatScores", x => x.ID); + table.ForeignKey( + name: "FK_JubeatScores_JubeatProfiles_ProfileID", + column: x => x.ProfileID, + principalTable: "JubeatProfiles", + principalColumn: "ID", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateIndex( + name: "IX_Cards_CardId", + table: "Cards", + column: "CardId", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_Cards_DataId", + table: "Cards", + column: "DataId"); + + migrationBuilder.CreateIndex( + name: "IX_Cards_PlayerID", + table: "Cards", + column: "PlayerID"); + + migrationBuilder.CreateIndex( + name: "IX_Cards_RefId", + table: "Cards", + column: "RefId", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_JubeatClanJubility_ProfileID", + table: "JubeatClanJubility", + column: "ProfileID"); + + migrationBuilder.CreateIndex( + name: "IX_JubeatClanProfileData_ProfileID", + table: "JubeatClanProfileData", + column: "ProfileID", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_JubeatClanSettings_ProfileID", + table: "JubeatClanSettings", + column: "ProfileID", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_JubeatHighscores_ProfileID", + table: "JubeatHighscores", + column: "ProfileID"); + + migrationBuilder.CreateIndex( + name: "IX_JubeatHighscores_MusicID_Seq", + table: "JubeatHighscores", + columns: new[] { "MusicID", "Seq" }); + + migrationBuilder.CreateIndex( + name: "IX_JubeatHighscores_ProfileID_MusicID", + table: "JubeatHighscores", + columns: new[] { "ProfileID", "MusicID" }); + + migrationBuilder.CreateIndex( + name: "IX_JubeatHighscores_ProfileID_MusicID_Seq", + table: "JubeatHighscores", + columns: new[] { "ProfileID", "MusicID", "Seq" }, + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_JubeatProfiles_PlayerID", + table: "JubeatProfiles", + column: "PlayerID", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_JubeatScores_ProfileID", + table: "JubeatScores", + column: "ProfileID"); + + migrationBuilder.CreateIndex( + name: "IX_JubeatScores_MusicID_Seq", + table: "JubeatScores", + columns: new[] { "MusicID", "Seq" }); + + migrationBuilder.CreateIndex( + name: "IX_JubeatScores_ProfileID_MusicID", + table: "JubeatScores", + columns: new[] { "ProfileID", "MusicID" }); + + migrationBuilder.CreateIndex( + name: "IX_JubeatScores_ProfileID_MusicID_Seq", + table: "JubeatScores", + columns: new[] { "ProfileID", "MusicID", "Seq" }); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "Cards"); + + migrationBuilder.DropTable( + name: "JubeatClanJubility"); + + migrationBuilder.DropTable( + name: "JubeatClanProfileData"); + + migrationBuilder.DropTable( + name: "JubeatClanSettings"); + + migrationBuilder.DropTable( + name: "JubeatHighscores"); + + migrationBuilder.DropTable( + name: "JubeatScores"); + + migrationBuilder.DropTable( + name: "JubeatProfiles"); + + migrationBuilder.DropTable( + name: "Players"); + } + } +} diff --git a/ClanServer/Migrations/ClanServerContextModelSnapshot.cs b/ClanServer/Migrations/ClanServerContextModelSnapshot.cs new file mode 100644 index 0000000..266df71 --- /dev/null +++ b/ClanServer/Migrations/ClanServerContextModelSnapshot.cs @@ -0,0 +1,354 @@ +// +using System; +using ClanServer; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +namespace ClanServer.Migrations +{ + [DbContext(typeof(ClanServerContext))] + partial class ClanServerContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "2.2.4-servicing-10062"); + + modelBuilder.Entity("ClanServer.Models.Card", b => + { + b.Property("ID") + .ValueGeneratedOnAdd(); + + b.Property("CardId") + .IsRequired() + .HasMaxLength(16); + + b.Property("DataId") + .IsRequired() + .HasMaxLength(16); + + b.Property("PlayerID"); + + b.Property("RefId") + .IsRequired() + .HasMaxLength(16); + + b.HasKey("ID"); + + b.HasIndex("CardId") + .IsUnique(); + + b.HasIndex("DataId"); + + b.HasIndex("PlayerID"); + + b.HasIndex("RefId") + .IsUnique(); + + b.ToTable("Cards"); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatClanJubility", b => + { + b.Property("ID") + .ValueGeneratedOnAdd(); + + b.Property("IsHardMode"); + + b.Property("MusicID"); + + b.Property("ProfileID"); + + b.Property("Score"); + + b.Property("Seq"); + + b.Property("Value"); + + b.HasKey("ID"); + + b.HasIndex("ProfileID"); + + b.ToTable("JubeatClanJubility"); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatClanProfileData", b => + { + b.Property("ID") + .ValueGeneratedOnAdd(); + + b.Property("BeatCount"); + + b.Property("BonusTunePlayed"); + + b.Property("BonusTunePoints"); + + b.Property("ClearCount"); + + b.Property("ExCount"); + + b.Property("FcCount"); + + b.Property("HouseNo1"); + + b.Property("HouseNo2"); + + b.Property("JboxPoints"); + + b.Property("JubilityParam"); + + b.Property("MatchCount"); + + b.Property("PlayTime"); + + b.Property("ProfileID"); + + b.Property("SaveCount"); + + b.Property("SavedCount"); + + b.Property("Section"); + + b.Property("Street"); + + b.Property("Team"); + + b.Property("TuneCount"); + + b.HasKey("ID"); + + b.HasIndex("ProfileID") + .IsUnique(); + + b.ToTable("JubeatClanProfileData"); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatClanSettings", b => + { + b.Property("ID") + .ValueGeneratedOnAdd(); + + b.Property("Category"); + + b.Property("ComboDisplay"); + + b.Property("EmblemBackground"); + + b.Property("EmblemBalloon"); + + b.Property("EmblemEffect"); + + b.Property("EmblemMain"); + + b.Property("EmblemOrnament"); + + b.Property("ExpertOption"); + + b.Property("Hard"); + + b.Property("Hazard"); + + b.Property("Marker"); + + b.Property("Matching"); + + b.Property("Parts"); + + b.Property("ProfileID"); + + b.Property("RankSort"); + + b.Property("Sort"); + + b.Property("Theme"); + + b.Property("Title"); + + b.HasKey("ID"); + + b.HasIndex("ProfileID") + .IsUnique(); + + b.ToTable("JubeatClanSettings"); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatHighscore", b => + { + b.Property("ID") + .ValueGeneratedOnAdd(); + + b.Property("Bar") + .HasMaxLength(30); + + b.Property("Clear"); + + b.Property("ClearCount"); + + b.Property("ExcCount"); + + b.Property("FcCount"); + + b.Property("MusicID"); + + b.Property("PlayCount"); + + b.Property("ProfileID"); + + b.Property("Score"); + + b.Property("Seq"); + + b.Property("Timestamp"); + + b.HasKey("ID"); + + b.HasIndex("ProfileID"); + + b.HasIndex("MusicID", "Seq"); + + b.HasIndex("ProfileID", "MusicID"); + + b.HasIndex("ProfileID", "MusicID", "Seq") + .IsUnique(); + + b.ToTable("JubeatHighscores"); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatProfile", b => + { + b.Property("ID") + .ValueGeneratedOnAdd(); + + b.Property("Name") + .IsRequired(); + + b.Property("PlayerID"); + + b.HasKey("ID"); + + b.HasIndex("PlayerID") + .IsUnique(); + + b.ToTable("JubeatProfiles"); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatScore", b => + { + b.Property("ID") + .ValueGeneratedOnAdd(); + + b.Property("Bar") + .HasMaxLength(30); + + b.Property("Clear"); + + b.Property("IsHardMode"); + + b.Property("IsHazardMode"); + + b.Property("MusicID"); + + b.Property("NumGood"); + + b.Property("NumGreat"); + + b.Property("NumMiss"); + + b.Property("NumPerfect"); + + b.Property("NumPoor"); + + b.Property("ProfileID"); + + b.Property("Score"); + + b.Property("Seq"); + + b.Property("Timestamp"); + + b.HasKey("ID"); + + b.HasIndex("ProfileID"); + + b.HasIndex("MusicID", "Seq"); + + b.HasIndex("ProfileID", "MusicID"); + + b.HasIndex("ProfileID", "MusicID", "Seq"); + + b.ToTable("JubeatScores"); + }); + + modelBuilder.Entity("ClanServer.Models.Player", b => + { + b.Property("ID") + .ValueGeneratedOnAdd(); + + b.Property("Passwd"); + + b.HasKey("ID"); + + b.ToTable("Players"); + }); + + modelBuilder.Entity("ClanServer.Models.Card", b => + { + b.HasOne("ClanServer.Models.Player", "Player") + .WithMany("Cards") + .HasForeignKey("PlayerID") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatClanJubility", b => + { + b.HasOne("ClanServer.Models.JubeatProfile", "Profile") + .WithMany("Jubilitys") + .HasForeignKey("ProfileID") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatClanProfileData", b => + { + b.HasOne("ClanServer.Models.JubeatProfile", "Profile") + .WithOne("ClanData") + .HasForeignKey("ClanServer.Models.JubeatClanProfileData", "ProfileID") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatClanSettings", b => + { + b.HasOne("ClanServer.Models.JubeatProfile", "Profile") + .WithOne("ClanSettings") + .HasForeignKey("ClanServer.Models.JubeatClanSettings", "ProfileID") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatHighscore", b => + { + b.HasOne("ClanServer.Models.JubeatProfile", "Profile") + .WithMany("Highscores") + .HasForeignKey("ProfileID") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatProfile", b => + { + b.HasOne("ClanServer.Models.Player", "Player") + .WithOne("JubeatProfile") + .HasForeignKey("ClanServer.Models.JubeatProfile", "PlayerID") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("ClanServer.Models.JubeatScore", b => + { + b.HasOne("ClanServer.Models.JubeatProfile", "Profile") + .WithMany("Scores") + .HasForeignKey("ProfileID") + .OnDelete(DeleteBehavior.Cascade); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/ClanServer/Startup.cs b/ClanServer/Startup.cs index c384539..0faa561 100644 --- a/ClanServer/Startup.cs +++ b/ClanServer/Startup.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; @@ -60,9 +60,9 @@ namespace ClanServer public void Configure(IApplicationBuilder app) { using (var serviceScope = app.ApplicationServices.GetService().CreateScope()) + using (var context = serviceScope.ServiceProvider.GetRequiredService()) { - var context = serviceScope.ServiceProvider.GetRequiredService(); - context.Database.EnsureCreated(); + context.Database.Migrate(); } app.Use(async (context, next) =>