diff --git a/ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240501130816_fix.Designer.cs b/ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240501130816_fix.Designer.cs deleted file mode 100644 index a1e4440..0000000 --- a/ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240501130816_fix.Designer.cs +++ /dev/null @@ -1,547 +0,0 @@ -// -using System; -using ComputerHardwareStoreDatabaseImplement; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ComputerHardwareStoreDatabaseImplement.Migrations -{ - [DbContext(typeof(ComputerHardwareStoreDBContext))] - [Migration("20240501130816_fix")] - partial class fix - { - /// - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "8.0.4") - .HasAnnotation("Relational:MaxIdentifierLength", 63); - - NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Build", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("VendorId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("VendorId"); - - b.ToTable("Builds"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.BuildComponent", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuildId") - .HasColumnType("integer"); - - b.Property("ComponentId") - .HasColumnType("integer"); - - b.Property("Count") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("BuildId"); - - b.HasIndex("ComponentId"); - - b.ToTable("BuildComponents"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Comment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuildId") - .HasColumnType("integer"); - - b.Property("Date") - .HasColumnType("timestamp without time zone"); - - b.Property("Text") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("BuildId"); - - b.ToTable("Comments"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Component", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Cost") - .HasColumnType("double precision"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("StoreKeeperId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("StoreKeeperId"); - - b.ToTable("Components"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Order", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("DateCreate") - .HasColumnType("timestamp without time zone"); - - b.Property("DateImplement") - .HasColumnType("timestamp without time zone"); - - b.Property("Status") - .HasColumnType("integer"); - - b.Property("Sum") - .HasColumnType("double precision"); - - b.HasKey("Id"); - - b.ToTable("Orders"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.OrderProduct", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Count") - .HasColumnType("integer"); - - b.Property("OrderId") - .HasColumnType("integer"); - - b.Property("ProductId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("OrderId"); - - b.HasIndex("ProductId"); - - b.ToTable("OrderProducts"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Product", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("StoreKeeperId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("StoreKeeperId"); - - b.ToTable("Products"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.ProductComponent", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("ComponentId") - .HasColumnType("integer"); - - b.Property("Count") - .HasColumnType("integer"); - - b.Property("ProductId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ComponentId"); - - b.HasIndex("ProductId"); - - b.ToTable("ProductComponents"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Purchase", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Cost") - .HasColumnType("double precision"); - - b.Property("DateCreate") - .HasColumnType("timestamp without time zone"); - - b.Property("DateImplement") - .HasColumnType("timestamp without time zone"); - - b.Property("VendorId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("VendorId"); - - b.ToTable("Purchases"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.PurchaseBuild", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuildId") - .HasColumnType("integer"); - - b.Property("Count") - .HasColumnType("integer"); - - b.Property("PurchaseId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("BuildId"); - - b.HasIndex("PurchaseId"); - - b.ToTable("PurchaseBuilds"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.PurchaseProduct", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Count") - .HasColumnType("integer"); - - b.Property("ProductId") - .HasColumnType("integer"); - - b.Property("PurchaseId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ProductId"); - - b.HasIndex("PurchaseId"); - - b.ToTable("PurchaseProducts"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.StoreKeeper", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Login") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Password") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.ToTable("StoreKeepers"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Vendor", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Login") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Password") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.ToTable("Vendors"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Build", b => - { - b.HasOne("ComputerHardwareStoreDatabaseImplement.Models.Vendor", "Vendor") - .WithMany("Builds") - .HasForeignKey("VendorId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Vendor"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.BuildComponent", b => - { - b.HasOne("ComputerHardwareStoreDatabaseImplement.Models.Build", "Build") - .WithMany("Components") - .HasForeignKey("BuildId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ComputerHardwareStoreDatabaseImplement.Models.Component", "Component") - .WithMany() - .HasForeignKey("ComponentId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Build"); - - b.Navigation("Component"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Comment", b => - { - b.HasOne("ComputerHardwareStoreDatabaseImplement.Models.Build", "Build") - .WithMany() - .HasForeignKey("BuildId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Build"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Component", b => - { - b.HasOne("ComputerHardwareStoreDatabaseImplement.Models.StoreKeeper", "StoreKeeperЗЛ") - .WithMany("Components") - .HasForeignKey("StoreKeeperId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("StoreKeeperЗЛ"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.OrderProduct", b => - { - b.HasOne("ComputerHardwareStoreDatabaseImplement.Models.Order", "Order") - .WithMany("Products") - .HasForeignKey("OrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ComputerHardwareStoreDatabaseImplement.Models.Product", "Product") - .WithMany() - .HasForeignKey("ProductId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Order"); - - b.Navigation("Product"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Product", b => - { - b.HasOne("ComputerHardwareStoreDatabaseImplement.Models.StoreKeeper", null) - .WithMany("Products") - .HasForeignKey("StoreKeeperId"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.ProductComponent", b => - { - b.HasOne("ComputerHardwareStoreDatabaseImplement.Models.Component", "Component") - .WithMany("ProductComponents") - .HasForeignKey("ComponentId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ComputerHardwareStoreDatabaseImplement.Models.Product", "Product") - .WithMany("Components") - .HasForeignKey("ProductId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Component"); - - b.Navigation("Product"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Purchase", b => - { - b.HasOne("ComputerHardwareStoreDatabaseImplement.Models.Vendor", null) - .WithMany("Purchases") - .HasForeignKey("VendorId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.PurchaseBuild", b => - { - b.HasOne("ComputerHardwareStoreDatabaseImplement.Models.Build", "Build") - .WithMany() - .HasForeignKey("BuildId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ComputerHardwareStoreDatabaseImplement.Models.Purchase", "Purchase") - .WithMany("Builds") - .HasForeignKey("PurchaseId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Build"); - - b.Navigation("Purchase"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.PurchaseProduct", b => - { - b.HasOne("ComputerHardwareStoreDatabaseImplement.Models.Product", "Product") - .WithMany() - .HasForeignKey("ProductId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ComputerHardwareStoreDatabaseImplement.Models.Purchase", "Purchase") - .WithMany("Products") - .HasForeignKey("PurchaseId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Product"); - - b.Navigation("Purchase"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Build", b => - { - b.Navigation("Components"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Component", b => - { - b.Navigation("ProductComponents"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Order", b => - { - b.Navigation("Products"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Product", b => - { - b.Navigation("Components"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Purchase", b => - { - b.Navigation("Builds"); - - b.Navigation("Products"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.StoreKeeper", b => - { - b.Navigation("Components"); - - b.Navigation("Products"); - }); - - modelBuilder.Entity("ComputerHardwareStoreDatabaseImplement.Models.Vendor", b => - { - b.Navigation("Builds"); - - b.Navigation("Purchases"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240501130816_fix.cs b/ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240501130816_fix.cs deleted file mode 100644 index 8c1a376..0000000 --- a/ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240501130816_fix.cs +++ /dev/null @@ -1,80 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace ComputerHardwareStoreDatabaseImplement.Migrations -{ - /// - public partial class fix : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_Orders_Products_ProductId", - table: "Orders"); - - migrationBuilder.DropIndex( - name: "IX_Orders_ProductId", - table: "Orders"); - - migrationBuilder.DropColumn( - name: "Count", - table: "Orders"); - - migrationBuilder.DropColumn( - name: "ProductId", - table: "Orders"); - - migrationBuilder.CreateIndex( - name: "IX_Comments_BuildId", - table: "Comments", - column: "BuildId"); - - migrationBuilder.AddForeignKey( - name: "FK_Comments_Builds_BuildId", - table: "Comments", - column: "BuildId", - principalTable: "Builds", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_Comments_Builds_BuildId", - table: "Comments"); - - migrationBuilder.DropIndex( - name: "IX_Comments_BuildId", - table: "Comments"); - - migrationBuilder.AddColumn( - name: "Count", - table: "Orders", - type: "integer", - nullable: false, - defaultValue: 0); - - migrationBuilder.AddColumn( - name: "ProductId", - table: "Orders", - type: "integer", - nullable: true); - - migrationBuilder.CreateIndex( - name: "IX_Orders_ProductId", - table: "Orders", - column: "ProductId"); - - migrationBuilder.AddForeignKey( - name: "FK_Orders_Products_ProductId", - table: "Orders", - column: "ProductId", - principalTable: "Products", - principalColumn: "Id"); - } - } -} diff --git a/ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240501142223_cs2.cs b/ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240501142223_cs2.cs deleted file mode 100644 index 0549943..0000000 --- a/ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240501142223_cs2.cs +++ /dev/null @@ -1,59 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace ComputerHardwareStoreDatabaseImplement.Migrations -{ - /// - public partial class cs2 : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "Count", - table: "Orders", - type: "integer", - nullable: false, - defaultValue: 0); - - migrationBuilder.AddColumn( - name: "ProductId", - table: "Orders", - type: "integer", - nullable: true); - - migrationBuilder.CreateIndex( - name: "IX_Orders_ProductId", - table: "Orders", - column: "ProductId"); - - migrationBuilder.AddForeignKey( - name: "FK_Orders_Products_ProductId", - table: "Orders", - column: "ProductId", - principalTable: "Products", - principalColumn: "Id"); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_Orders_Products_ProductId", - table: "Orders"); - - migrationBuilder.DropIndex( - name: "IX_Orders_ProductId", - table: "Orders"); - - migrationBuilder.DropColumn( - name: "Count", - table: "Orders"); - - migrationBuilder.DropColumn( - name: "ProductId", - table: "Orders"); - } - } -} diff --git a/ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240501142223_cs2.Designer.cs b/ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240528172646_create.Designer.cs similarity index 99% rename from ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240501142223_cs2.Designer.cs rename to ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240528172646_create.Designer.cs index cbd252a..6d870c9 100644 --- a/ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240501142223_cs2.Designer.cs +++ b/ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240528172646_create.Designer.cs @@ -12,8 +12,8 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace ComputerHardwareStoreDatabaseImplement.Migrations { [DbContext(typeof(ComputerHardwareStoreDBContext))] - [Migration("20240501142223_cs2")] - partial class cs2 + [Migration("20240528172646_create")] + partial class create { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) diff --git a/ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240528172646_create.cs b/ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240528172646_create.cs new file mode 100644 index 0000000..7b44e2f --- /dev/null +++ b/ComputerHardwareStore/ComputerHardwareStoreDatabaseImplement/Migrations/20240528172646_create.cs @@ -0,0 +1,432 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace ComputerHardwareStoreDatabaseImplement.Migrations +{ + /// + public partial class create : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "StoreKeepers", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + Name = table.Column(type: "text", nullable: false), + Login = table.Column(type: "text", nullable: false), + Password = table.Column(type: "text", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_StoreKeepers", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Vendors", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + Name = table.Column(type: "text", nullable: false), + Login = table.Column(type: "text", nullable: false), + Password = table.Column(type: "text", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Vendors", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Components", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + Name = table.Column(type: "text", nullable: false), + Cost = table.Column(type: "double precision", nullable: false), + StoreKeeperId = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Components", x => x.Id); + table.ForeignKey( + name: "FK_Components_StoreKeepers_StoreKeeperId", + column: x => x.StoreKeeperId, + principalTable: "StoreKeepers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "Products", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + Name = table.Column(type: "text", nullable: false), + Price = table.Column(type: "double precision", nullable: false), + StoreKeeperId = table.Column(type: "integer", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Products", x => x.Id); + table.ForeignKey( + name: "FK_Products_StoreKeepers_StoreKeeperId", + column: x => x.StoreKeeperId, + principalTable: "StoreKeepers", + principalColumn: "Id"); + }); + + migrationBuilder.CreateTable( + name: "Builds", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + Name = table.Column(type: "text", nullable: false), + Price = table.Column(type: "double precision", nullable: false), + VendorId = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Builds", x => x.Id); + table.ForeignKey( + name: "FK_Builds_Vendors_VendorId", + column: x => x.VendorId, + principalTable: "Vendors", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "Purchases", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + VendorId = table.Column(type: "integer", nullable: false), + Cost = table.Column(type: "double precision", nullable: false), + DateCreate = table.Column(type: "timestamp without time zone", nullable: false), + DateImplement = table.Column(type: "timestamp without time zone", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Purchases", x => x.Id); + table.ForeignKey( + name: "FK_Purchases_Vendors_VendorId", + column: x => x.VendorId, + principalTable: "Vendors", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "Orders", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + Count = table.Column(type: "integer", nullable: false), + Sum = table.Column(type: "double precision", nullable: false), + Status = table.Column(type: "integer", nullable: false), + DateCreate = table.Column(type: "timestamp without time zone", nullable: false), + DateImplement = table.Column(type: "timestamp without time zone", nullable: true), + ProductId = table.Column(type: "integer", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Orders", x => x.Id); + table.ForeignKey( + name: "FK_Orders_Products_ProductId", + column: x => x.ProductId, + principalTable: "Products", + principalColumn: "Id"); + }); + + migrationBuilder.CreateTable( + name: "ProductComponents", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + ProductId = table.Column(type: "integer", nullable: false), + ComponentId = table.Column(type: "integer", nullable: false), + Count = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_ProductComponents", x => x.Id); + table.ForeignKey( + name: "FK_ProductComponents_Components_ComponentId", + column: x => x.ComponentId, + principalTable: "Components", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_ProductComponents_Products_ProductId", + column: x => x.ProductId, + principalTable: "Products", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "BuildComponents", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + BuildId = table.Column(type: "integer", nullable: false), + ComponentId = table.Column(type: "integer", nullable: false), + Count = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_BuildComponents", x => x.Id); + table.ForeignKey( + name: "FK_BuildComponents_Builds_BuildId", + column: x => x.BuildId, + principalTable: "Builds", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_BuildComponents_Components_ComponentId", + column: x => x.ComponentId, + principalTable: "Components", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "Comments", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + Date = table.Column(type: "timestamp without time zone", nullable: false), + Text = table.Column(type: "text", nullable: false), + BuildId = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Comments", x => x.Id); + table.ForeignKey( + name: "FK_Comments_Builds_BuildId", + column: x => x.BuildId, + principalTable: "Builds", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "PurchaseBuilds", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + PurchaseId = table.Column(type: "integer", nullable: false), + BuildId = table.Column(type: "integer", nullable: false), + Count = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_PurchaseBuilds", x => x.Id); + table.ForeignKey( + name: "FK_PurchaseBuilds_Builds_BuildId", + column: x => x.BuildId, + principalTable: "Builds", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_PurchaseBuilds_Purchases_PurchaseId", + column: x => x.PurchaseId, + principalTable: "Purchases", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "PurchaseProducts", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + PurchaseId = table.Column(type: "integer", nullable: false), + ProductId = table.Column(type: "integer", nullable: false), + Count = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_PurchaseProducts", x => x.Id); + table.ForeignKey( + name: "FK_PurchaseProducts_Products_ProductId", + column: x => x.ProductId, + principalTable: "Products", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_PurchaseProducts_Purchases_PurchaseId", + column: x => x.PurchaseId, + principalTable: "Purchases", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "OrderProducts", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + OrderId = table.Column(type: "integer", nullable: false), + ProductId = table.Column(type: "integer", nullable: false), + Count = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_OrderProducts", x => x.Id); + table.ForeignKey( + name: "FK_OrderProducts_Orders_OrderId", + column: x => x.OrderId, + principalTable: "Orders", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_OrderProducts_Products_ProductId", + column: x => x.ProductId, + principalTable: "Products", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateIndex( + name: "IX_BuildComponents_BuildId", + table: "BuildComponents", + column: "BuildId"); + + migrationBuilder.CreateIndex( + name: "IX_BuildComponents_ComponentId", + table: "BuildComponents", + column: "ComponentId"); + + migrationBuilder.CreateIndex( + name: "IX_Builds_VendorId", + table: "Builds", + column: "VendorId"); + + migrationBuilder.CreateIndex( + name: "IX_Comments_BuildId", + table: "Comments", + column: "BuildId"); + + migrationBuilder.CreateIndex( + name: "IX_Components_StoreKeeperId", + table: "Components", + column: "StoreKeeperId"); + + migrationBuilder.CreateIndex( + name: "IX_OrderProducts_OrderId", + table: "OrderProducts", + column: "OrderId"); + + migrationBuilder.CreateIndex( + name: "IX_OrderProducts_ProductId", + table: "OrderProducts", + column: "ProductId"); + + migrationBuilder.CreateIndex( + name: "IX_Orders_ProductId", + table: "Orders", + column: "ProductId"); + + migrationBuilder.CreateIndex( + name: "IX_ProductComponents_ComponentId", + table: "ProductComponents", + column: "ComponentId"); + + migrationBuilder.CreateIndex( + name: "IX_ProductComponents_ProductId", + table: "ProductComponents", + column: "ProductId"); + + migrationBuilder.CreateIndex( + name: "IX_Products_StoreKeeperId", + table: "Products", + column: "StoreKeeperId"); + + migrationBuilder.CreateIndex( + name: "IX_PurchaseBuilds_BuildId", + table: "PurchaseBuilds", + column: "BuildId"); + + migrationBuilder.CreateIndex( + name: "IX_PurchaseBuilds_PurchaseId", + table: "PurchaseBuilds", + column: "PurchaseId"); + + migrationBuilder.CreateIndex( + name: "IX_PurchaseProducts_ProductId", + table: "PurchaseProducts", + column: "ProductId"); + + migrationBuilder.CreateIndex( + name: "IX_PurchaseProducts_PurchaseId", + table: "PurchaseProducts", + column: "PurchaseId"); + + migrationBuilder.CreateIndex( + name: "IX_Purchases_VendorId", + table: "Purchases", + column: "VendorId"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "BuildComponents"); + + migrationBuilder.DropTable( + name: "Comments"); + + migrationBuilder.DropTable( + name: "OrderProducts"); + + migrationBuilder.DropTable( + name: "ProductComponents"); + + migrationBuilder.DropTable( + name: "PurchaseBuilds"); + + migrationBuilder.DropTable( + name: "PurchaseProducts"); + + migrationBuilder.DropTable( + name: "Orders"); + + migrationBuilder.DropTable( + name: "Components"); + + migrationBuilder.DropTable( + name: "Builds"); + + migrationBuilder.DropTable( + name: "Purchases"); + + migrationBuilder.DropTable( + name: "Products"); + + migrationBuilder.DropTable( + name: "Vendors"); + + migrationBuilder.DropTable( + name: "StoreKeepers"); + } + } +}