From c3b27080f2d9ad9100820070552b3812ab4d691d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20H=C3=A4felfinger?= Date: Fri, 25 Jan 2019 00:07:05 +0100 Subject: [PATCH] added first working db init and startup --- .../20181209233600_InitialCreate.Designer.cs | 41 ----------- ...21302_AddedEnabledAvailableNameOverride.cs | 70 ------------------- ... 20190124230424_InitialCreate.Designer.cs} | 4 +- ...ate.cs => 20190124230424_InitialCreate.cs} | 25 +++++-- Tv7Playlist.Data/Tv7Playlist.Data.csproj | 2 +- Tv7Playlist/Startup.cs | 11 +++ 6 files changed, 33 insertions(+), 120 deletions(-) delete mode 100644 Tv7Playlist.Data/Migrations/20181209233600_InitialCreate.Designer.cs delete mode 100644 Tv7Playlist.Data/Migrations/20190124221302_AddedEnabledAvailableNameOverride.cs rename Tv7Playlist.Data/Migrations/{20190124221302_AddedEnabledAvailableNameOverride.Designer.cs => 20190124230424_InitialCreate.Designer.cs} (91%) rename Tv7Playlist.Data/Migrations/{20181209233600_InitialCreate.cs => 20190124230424_InitialCreate.cs} (51%) diff --git a/Tv7Playlist.Data/Migrations/20181209233600_InitialCreate.Designer.cs b/Tv7Playlist.Data/Migrations/20181209233600_InitialCreate.Designer.cs deleted file mode 100644 index 29ffb1c..0000000 --- a/Tv7Playlist.Data/Migrations/20181209233600_InitialCreate.Designer.cs +++ /dev/null @@ -1,41 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Tv7Playlist.Data; - -namespace Tv7Playlist.Data.Migrations -{ - [DbContext(typeof(PlaylistContext))] - [Migration("20181209233600_InitialCreate")] - partial class InitialCreate - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "2.2.0-rtm-35687"); - - modelBuilder.Entity("Tv7Playlist.Data.PlaylistEntry", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Name"); - - b.Property("TrackNumber"); - - b.Property("Url"); - - b.HasKey("Id"); - - b.HasAlternateKey("TrackNumber"); - - b.ToTable("PlaylistEntries"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Tv7Playlist.Data/Migrations/20190124221302_AddedEnabledAvailableNameOverride.cs b/Tv7Playlist.Data/Migrations/20190124221302_AddedEnabledAvailableNameOverride.cs deleted file mode 100644 index f11796b..0000000 --- a/Tv7Playlist.Data/Migrations/20190124221302_AddedEnabledAvailableNameOverride.cs +++ /dev/null @@ -1,70 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Tv7Playlist.Data.Migrations -{ - public partial class AddedEnabledAvailableNameOverride : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropUniqueConstraint( - name: "AK_PlaylistEntries_TrackNumber", - table: "PlaylistEntries"); - - migrationBuilder.AddColumn( - name: "IsAvailable", - table: "PlaylistEntries", - nullable: false, - defaultValue: false); - - migrationBuilder.AddColumn( - name: "IsEnabled", - table: "PlaylistEntries", - nullable: false, - defaultValue: false); - - migrationBuilder.AddColumn( - name: "NameOverride", - table: "PlaylistEntries", - nullable: true); - - migrationBuilder.CreateIndex( - name: "IX_PlaylistEntries_Name", - table: "PlaylistEntries", - column: "Name"); - - migrationBuilder.CreateIndex( - name: "IX_PlaylistEntries_TrackNumber", - table: "PlaylistEntries", - column: "TrackNumber", - unique: true); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropIndex( - name: "IX_PlaylistEntries_Name", - table: "PlaylistEntries"); - - migrationBuilder.DropIndex( - name: "IX_PlaylistEntries_TrackNumber", - table: "PlaylistEntries"); - - migrationBuilder.DropColumn( - name: "IsAvailable", - table: "PlaylistEntries"); - - migrationBuilder.DropColumn( - name: "IsEnabled", - table: "PlaylistEntries"); - - migrationBuilder.DropColumn( - name: "NameOverride", - table: "PlaylistEntries"); - - migrationBuilder.AddUniqueConstraint( - name: "AK_PlaylistEntries_TrackNumber", - table: "PlaylistEntries", - column: "TrackNumber"); - } - } -} diff --git a/Tv7Playlist.Data/Migrations/20190124221302_AddedEnabledAvailableNameOverride.Designer.cs b/Tv7Playlist.Data/Migrations/20190124230424_InitialCreate.Designer.cs similarity index 91% rename from Tv7Playlist.Data/Migrations/20190124221302_AddedEnabledAvailableNameOverride.Designer.cs rename to Tv7Playlist.Data/Migrations/20190124230424_InitialCreate.Designer.cs index 220e9b1..3ac3c53 100644 --- a/Tv7Playlist.Data/Migrations/20190124221302_AddedEnabledAvailableNameOverride.Designer.cs +++ b/Tv7Playlist.Data/Migrations/20190124230424_InitialCreate.Designer.cs @@ -9,8 +9,8 @@ using Tv7Playlist.Data; namespace Tv7Playlist.Data.Migrations { [DbContext(typeof(PlaylistContext))] - [Migration("20190124221302_AddedEnabledAvailableNameOverride")] - partial class AddedEnabledAvailableNameOverride + [Migration("20190124230424_InitialCreate")] + partial class InitialCreate { protected override void BuildTargetModel(ModelBuilder modelBuilder) { diff --git a/Tv7Playlist.Data/Migrations/20181209233600_InitialCreate.cs b/Tv7Playlist.Data/Migrations/20190124230424_InitialCreate.cs similarity index 51% rename from Tv7Playlist.Data/Migrations/20181209233600_InitialCreate.cs rename to Tv7Playlist.Data/Migrations/20190124230424_InitialCreate.cs index 7bb3e4f..b4d4a2d 100644 --- a/Tv7Playlist.Data/Migrations/20181209233600_InitialCreate.cs +++ b/Tv7Playlist.Data/Migrations/20190124230424_InitialCreate.cs @@ -8,25 +8,38 @@ namespace Tv7Playlist.Data.Migrations protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( - "PlaylistEntries", - table => new + name: "PlaylistEntries", + columns: table => new { Id = table.Column(nullable: false), TrackNumber = table.Column(nullable: false), Name = table.Column(nullable: true), - Url = table.Column(nullable: true) + NameOverride = table.Column(nullable: true), + Url = table.Column(nullable: true), + IsAvailable = table.Column(nullable: false), + IsEnabled = table.Column(nullable: false) }, constraints: table => { table.PrimaryKey("PK_PlaylistEntries", x => x.Id); - table.UniqueConstraint("AK_PlaylistEntries_TrackNumber", x => x.TrackNumber); }); + + migrationBuilder.CreateIndex( + name: "IX_PlaylistEntries_Name", + table: "PlaylistEntries", + column: "Name"); + + migrationBuilder.CreateIndex( + name: "IX_PlaylistEntries_TrackNumber", + table: "PlaylistEntries", + column: "TrackNumber", + unique: true); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( - "PlaylistEntries"); + name: "PlaylistEntries"); } } -} \ No newline at end of file +} diff --git a/Tv7Playlist.Data/Tv7Playlist.Data.csproj b/Tv7Playlist.Data/Tv7Playlist.Data.csproj index 8663185..d2105a5 100644 --- a/Tv7Playlist.Data/Tv7Playlist.Data.csproj +++ b/Tv7Playlist.Data/Tv7Playlist.Data.csproj @@ -1,4 +1,4 @@ - + netcoreapp2.2 diff --git a/Tv7Playlist/Startup.cs b/Tv7Playlist/Startup.cs index cc8298e..3ffd9c7 100644 --- a/Tv7Playlist/Startup.cs +++ b/Tv7Playlist/Startup.cs @@ -60,6 +60,9 @@ namespace Tv7Playlist app.UseHsts(); } + InitializeDatabase(app); + + app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseCookiePolicy(); @@ -72,6 +75,14 @@ namespace Tv7Playlist }); } + private void InitializeDatabase(IApplicationBuilder app) + { + using (var scope = app.ApplicationServices.GetService().CreateScope()) + { + scope.ServiceProvider.GetRequiredService().Database.Migrate(); + } + } + private void ConfigureParser(IServiceCollection services, IAppConfig appConfig) { services.AddTransient();