From d4e20ea69f998f88558f15e863682327cd4d0eba Mon Sep 17 00:00:00 2001 From: David Walker Date: Mon, 13 Apr 2020 10:06:25 +0100 Subject: [PATCH] Added EF migrations --- .../20200413084833_security.Designer.cs | 270 ++++++++++++++++++ .../Migrations/20200413084833_security.cs | 30 ++ .../FlightRecorderDbContextModelSnapshot.cs | 26 +- .../FlightRecorder.Migrations.csproj | 28 ++ src/FlightRecorder.Migrations/Program.cs | 15 + .../appsettings.json | 5 + src/FlightRecorderDb.sln | 6 + 7 files changed, 377 insertions(+), 3 deletions(-) create mode 100644 src/FlightRecorder.Data/Migrations/20200413084833_security.Designer.cs create mode 100644 src/FlightRecorder.Data/Migrations/20200413084833_security.cs create mode 100644 src/FlightRecorder.Migrations/FlightRecorder.Migrations.csproj create mode 100644 src/FlightRecorder.Migrations/Program.cs create mode 100644 src/FlightRecorder.Migrations/appsettings.json diff --git a/src/FlightRecorder.Data/Migrations/20200413084833_security.Designer.cs b/src/FlightRecorder.Data/Migrations/20200413084833_security.Designer.cs new file mode 100644 index 0000000..8b5a154 --- /dev/null +++ b/src/FlightRecorder.Data/Migrations/20200413084833_security.Designer.cs @@ -0,0 +1,270 @@ +// +using System; +using FlightRecorder.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +namespace FlightRecorder.Data.Migrations +{ + [DbContext(typeof(FlightRecorderDbContext))] + [Migration("20200413084833_security")] + partial class security + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "3.1.3"); + + modelBuilder.Entity("FlightRecorder.Entities.Db.Aircraft", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnName("id") + .HasColumnType("INTEGER"); + + b.Property("Manufactured") + .HasColumnName("manufactured") + .HasColumnType("INTEGER"); + + b.Property("ModelId") + .HasColumnName("model_id") + .HasColumnType("INTEGER"); + + b.Property("Registration") + .IsRequired() + .HasColumnName("registration") + .HasColumnType("VARCHAR(50)"); + + b.Property("SerialNumber") + .IsRequired() + .HasColumnName("serial_number") + .HasColumnType("VARCHAR(50)"); + + b.HasKey("Id"); + + b.HasIndex("ModelId"); + + b.ToTable("AIRCRAFT"); + }); + + modelBuilder.Entity("FlightRecorder.Entities.Db.Airline", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnName("id") + .HasColumnType("INTEGER"); + + b.Property("Name") + .IsRequired() + .HasColumnName("name") + .HasColumnType("VARCHAR(100)"); + + b.HasKey("Id"); + + b.ToTable("AIRLINE"); + }); + + modelBuilder.Entity("FlightRecorder.Entities.Db.Flight", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnName("id") + .HasColumnType("INTEGER"); + + b.Property("AirlineId") + .HasColumnName("airline_id") + .HasColumnType("INTEGER"); + + b.Property("Destination") + .IsRequired() + .HasColumnName("destination") + .HasColumnType("VARCHAR(3)"); + + b.Property("Embarkation") + .IsRequired() + .HasColumnName("embarkation") + .HasColumnType("VARCHAR(3)"); + + b.Property("Number") + .IsRequired() + .HasColumnName("number") + .HasColumnType("VARCHAR(50)"); + + b.HasKey("Id"); + + b.HasIndex("AirlineId"); + + b.ToTable("FLIGHT"); + }); + + modelBuilder.Entity("FlightRecorder.Entities.Db.Location", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnName("id") + .HasColumnType("INTEGER"); + + b.Property("Name") + .IsRequired() + .HasColumnName("name") + .HasColumnType("VARCHAR(100)"); + + b.HasKey("Id"); + + b.ToTable("LOCATION"); + }); + + modelBuilder.Entity("FlightRecorder.Entities.Db.Manufacturer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnName("id") + .HasColumnType("INTEGER"); + + b.Property("Name") + .IsRequired() + .HasColumnName("name") + .HasColumnType("VARCHAR(100)"); + + b.HasKey("Id"); + + b.ToTable("MANUFACTURER"); + }); + + modelBuilder.Entity("FlightRecorder.Entities.Db.Model", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnName("id") + .HasColumnType("INTEGER"); + + b.Property("ManufacturerId") + .HasColumnName("manufacturer_id") + .HasColumnType("INTEGER"); + + b.Property("Name") + .IsRequired() + .HasColumnName("name") + .HasColumnType("VARCHAR(100)"); + + b.HasKey("Id"); + + b.HasIndex("ManufacturerId"); + + b.ToTable("MODEL"); + }); + + modelBuilder.Entity("FlightRecorder.Entities.Db.Sighting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnName("id") + .HasColumnType("INTEGER"); + + b.Property("AircraftId") + .HasColumnName("aircraft_id") + .HasColumnType("INTEGER"); + + b.Property("Altitude") + .HasColumnName("altitude") + .HasColumnType("INTEGER"); + + b.Property("Date") + .HasColumnName("date") + .HasColumnType("DATETIME"); + + b.Property("FlightId") + .HasColumnName("flight_id") + .HasColumnType("INTEGER"); + + b.Property("LocationId") + .HasColumnName("location_id") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("AircraftId"); + + b.HasIndex("FlightId"); + + b.HasIndex("LocationId"); + + b.ToTable("SIGHTING"); + }); + + modelBuilder.Entity("FlightRecorder.Entities.Db.User", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnName("id") + .HasColumnType("INTEGER"); + + b.Property("Password") + .IsRequired() + .HasColumnName("Password") + .HasColumnType("VARCHAR(1000)"); + + b.Property("UserName") + .IsRequired() + .HasColumnName("UserName") + .HasColumnType("VARCHAR(50)"); + + b.HasKey("Id"); + + b.ToTable("USER"); + }); + + modelBuilder.Entity("FlightRecorder.Entities.Db.Aircraft", b => + { + b.HasOne("FlightRecorder.Entities.Db.Model", "Model") + .WithMany("Aircraft") + .HasForeignKey("ModelId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("FlightRecorder.Entities.Db.Flight", b => + { + b.HasOne("FlightRecorder.Entities.Db.Airline", "Airline") + .WithMany("Flight") + .HasForeignKey("AirlineId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("FlightRecorder.Entities.Db.Model", b => + { + b.HasOne("FlightRecorder.Entities.Db.Manufacturer", "Manufacturer") + .WithMany("Model") + .HasForeignKey("ManufacturerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("FlightRecorder.Entities.Db.Sighting", b => + { + b.HasOne("FlightRecorder.Entities.Db.Aircraft", "Aircraft") + .WithMany("Sighting") + .HasForeignKey("AircraftId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("FlightRecorder.Entities.Db.Flight", "Flight") + .WithMany("Sighting") + .HasForeignKey("FlightId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("FlightRecorder.Entities.Db.Location", "Location") + .WithMany("Sighting") + .HasForeignKey("LocationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/FlightRecorder.Data/Migrations/20200413084833_security.cs b/src/FlightRecorder.Data/Migrations/20200413084833_security.cs new file mode 100644 index 0000000..40b859d --- /dev/null +++ b/src/FlightRecorder.Data/Migrations/20200413084833_security.cs @@ -0,0 +1,30 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +namespace FlightRecorder.Data.Migrations +{ + public partial class security : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "USER", + columns: table => new + { + id = table.Column(nullable: false) + .Annotation("Sqlite:Autoincrement", true), + UserName = table.Column(type: "VARCHAR(50)", nullable: false), + Password = table.Column(type: "VARCHAR(1000)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_USER", x => x.id); + }); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "USER"); + } + } +} diff --git a/src/FlightRecorder.Data/Migrations/FlightRecorderDbContextModelSnapshot.cs b/src/FlightRecorder.Data/Migrations/FlightRecorderDbContextModelSnapshot.cs index 0793e96..f512502 100644 --- a/src/FlightRecorder.Data/Migrations/FlightRecorderDbContextModelSnapshot.cs +++ b/src/FlightRecorder.Data/Migrations/FlightRecorderDbContextModelSnapshot.cs @@ -1,6 +1,5 @@ // using System; -using System.Diagnostics.CodeAnalysis; using FlightRecorder.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; @@ -9,14 +8,13 @@ namespace FlightRecorder.Data.Migrations { [DbContext(typeof(FlightRecorderDbContext))] - [ExcludeFromCodeCoverage] partial class FlightRecorderDbContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "3.1.1"); + .HasAnnotation("ProductVersion", "3.1.3"); modelBuilder.Entity("FlightRecorder.Entities.Db.Aircraft", b => { @@ -195,6 +193,28 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.ToTable("SIGHTING"); }); + modelBuilder.Entity("FlightRecorder.Entities.Db.User", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnName("id") + .HasColumnType("INTEGER"); + + b.Property("Password") + .IsRequired() + .HasColumnName("Password") + .HasColumnType("VARCHAR(1000)"); + + b.Property("UserName") + .IsRequired() + .HasColumnName("UserName") + .HasColumnType("VARCHAR(50)"); + + b.HasKey("Id"); + + b.ToTable("USER"); + }); + modelBuilder.Entity("FlightRecorder.Entities.Db.Aircraft", b => { b.HasOne("FlightRecorder.Entities.Db.Model", "Model") diff --git a/src/FlightRecorder.Migrations/FlightRecorder.Migrations.csproj b/src/FlightRecorder.Migrations/FlightRecorder.Migrations.csproj new file mode 100644 index 0000000..aea3897 --- /dev/null +++ b/src/FlightRecorder.Migrations/FlightRecorder.Migrations.csproj @@ -0,0 +1,28 @@ + + + + Exe + netcoreapp3.1 + + + + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + + + PreserveNewest + + + diff --git a/src/FlightRecorder.Migrations/Program.cs b/src/FlightRecorder.Migrations/Program.cs new file mode 100644 index 0000000..c862746 --- /dev/null +++ b/src/FlightRecorder.Migrations/Program.cs @@ -0,0 +1,15 @@ +using System; +using FlightRecorder.Data; +using Microsoft.EntityFrameworkCore; + +namespace FlightRecorder.Migrations +{ + class Program + { + static void Main(string[] args) + { + FlightRecorderDbContext context = new FlightRecorderDbContextFactory().CreateDbContext(null); + context.Database.Migrate(); + } + } +} diff --git a/src/FlightRecorder.Migrations/appsettings.json b/src/FlightRecorder.Migrations/appsettings.json new file mode 100644 index 0000000..bbecee7 --- /dev/null +++ b/src/FlightRecorder.Migrations/appsettings.json @@ -0,0 +1,5 @@ +{ + "ConnectionStrings": { + "FlightRecorderDB": "Data Source=/Users/dave/Dropbox/Documents/Aviation/FlightRecorder/Data/flightrecorder.db" + } +} diff --git a/src/FlightRecorderDb.sln b/src/FlightRecorderDb.sln index 874c2b7..6911ff6 100644 --- a/src/FlightRecorderDb.sln +++ b/src/FlightRecorderDb.sln @@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FlightRecorder.BusinessLogi EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FlightRecorder.DataExchange", "FlightRecorder.DataExchange\FlightRecorder.DataExchange.csproj", "{2337BD55-D981-459A-ACD9-F0CFE5DCC1AA}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FlightRecorder.Migrations", "FlightRecorder.Migrations\FlightRecorder.Migrations.csproj", "{C900A267-3486-430A-ABB5-1D25292BE450}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -37,5 +39,9 @@ Global {2337BD55-D981-459A-ACD9-F0CFE5DCC1AA}.Debug|Any CPU.Build.0 = Debug|Any CPU {2337BD55-D981-459A-ACD9-F0CFE5DCC1AA}.Release|Any CPU.ActiveCfg = Release|Any CPU {2337BD55-D981-459A-ACD9-F0CFE5DCC1AA}.Release|Any CPU.Build.0 = Release|Any CPU + {C900A267-3486-430A-ABB5-1D25292BE450}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C900A267-3486-430A-ABB5-1D25292BE450}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C900A267-3486-430A-ABB5-1D25292BE450}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C900A267-3486-430A-ABB5-1D25292BE450}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal