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");
+ }
+ }
+}