diff --git a/.gitignore b/.gitignore
index c41c7e2..330f40b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -371,7 +371,7 @@ healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
-Migrations/
+*/Migrations/*
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
@@ -400,3 +400,8 @@ FodyWeavers.xsd
# JetBrains Rider
*.sln.iml
+/SushiBar/SushiBarDatabaseImplement/Migrations/20240522053944_lab7.Designer.cs
+/SushiBar/SushiBarDatabaseImplement/Migrations/20240522053944_lab7.cs
+/SushiBar/SushiBarDatabaseImplement/Migrations/SushiBarDatabaseModelSnapshot.cs
+/SushiBar/SushiBarDatabaseImplement/Migrations/20240507181620_lab6.Designer.cs
+/SushiBar/SushiBarDatabaseImplement/Migrations/20240507181620_lab6.cs
diff --git a/SushiBar/SushiBarDatabaseImplement/Migrations/20240507181620_lab6.Designer.cs b/SushiBar/SushiBarDatabaseImplement/Migrations/20240507181620_lab6.Designer.cs
deleted file mode 100644
index 124a799..0000000
--- a/SushiBar/SushiBarDatabaseImplement/Migrations/20240507181620_lab6.Designer.cs
+++ /dev/null
@@ -1,252 +0,0 @@
-//
-using System;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
-using SushiBarDatabaseImplement;
-
-#nullable disable
-
-namespace SushiBarDatabaseImplement.Migrations
-{
- [DbContext(typeof(SushiBarDatabase))]
- [Migration("20240507181620_lab6")]
- partial class lab6
- {
- ///
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "7.0.16")
- .HasAnnotation("Relational:MaxIdentifierLength", 63);
-
- NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Client", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("ClientFIO")
- .IsRequired()
- .HasColumnType("text");
-
- b.Property("Email")
- .IsRequired()
- .HasColumnType("text");
-
- b.Property("Password")
- .IsRequired()
- .HasColumnType("text");
-
- b.HasKey("Id");
-
- b.ToTable("Clients");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Component", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("ComponentName")
- .IsRequired()
- .HasColumnType("text");
-
- b.Property("Cost")
- .HasColumnType("double precision");
-
- b.HasKey("Id");
-
- b.ToTable("Components");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Implementer", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("ImplementerFIO")
- .IsRequired()
- .HasColumnType("text");
-
- b.Property("Password")
- .IsRequired()
- .HasColumnType("text");
-
- b.Property("Qualification")
- .HasColumnType("integer");
-
- b.Property("WorkExperience")
- .HasColumnType("integer");
-
- b.HasKey("Id");
-
- b.ToTable("Implementers");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Order", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("ClientId")
- .HasColumnType("integer");
-
- b.Property("Count")
- .HasColumnType("integer");
-
- b.Property("DateCreate")
- .HasColumnType("timestamp without time zone");
-
- b.Property("DateImplement")
- .HasColumnType("timestamp without time zone");
-
- b.Property("ImplementerId")
- .HasColumnType("integer");
-
- b.Property("Status")
- .HasColumnType("integer");
-
- b.Property("Sum")
- .HasColumnType("double precision");
-
- b.Property("SushiId")
- .HasColumnType("integer");
-
- b.HasKey("Id");
-
- b.HasIndex("ClientId");
-
- b.HasIndex("ImplementerId");
-
- b.HasIndex("SushiId");
-
- b.ToTable("Orders");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Sushi", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("Price")
- .HasColumnType("double precision");
-
- b.Property("SushiName")
- .IsRequired()
- .HasColumnType("text");
-
- b.HasKey("Id");
-
- b.ToTable("Sushis");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.SushiComponent", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("ComponentId")
- .HasColumnType("integer");
-
- b.Property("Count")
- .HasColumnType("integer");
-
- b.Property("SushiId")
- .HasColumnType("integer");
-
- b.HasKey("Id");
-
- b.HasIndex("ComponentId");
-
- b.HasIndex("SushiId");
-
- b.ToTable("SushiComponents");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Order", b =>
- {
- b.HasOne("SushiBarDatabaseImplement.Models.Client", "Client")
- .WithMany()
- .HasForeignKey("ClientId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("SushiBarDatabaseImplement.Models.Implementer", "Implementer")
- .WithMany("Orders")
- .HasForeignKey("ImplementerId");
-
- b.HasOne("SushiBarDatabaseImplement.Models.Sushi", "Sushi")
- .WithMany("Orders")
- .HasForeignKey("SushiId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.Navigation("Client");
-
- b.Navigation("Implementer");
-
- b.Navigation("Sushi");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.SushiComponent", b =>
- {
- b.HasOne("SushiBarDatabaseImplement.Models.Component", "Component")
- .WithMany("SushiComponents")
- .HasForeignKey("ComponentId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("SushiBarDatabaseImplement.Models.Sushi", "Sushi")
- .WithMany("Components")
- .HasForeignKey("SushiId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.Navigation("Component");
-
- b.Navigation("Sushi");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Component", b =>
- {
- b.Navigation("SushiComponents");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Implementer", b =>
- {
- b.Navigation("Orders");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Sushi", b =>
- {
- b.Navigation("Components");
-
- b.Navigation("Orders");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/SushiBar/SushiBarDatabaseImplement/Migrations/20240507181620_lab6.cs b/SushiBar/SushiBarDatabaseImplement/Migrations/20240507181620_lab6.cs
deleted file mode 100644
index ea0ccea..0000000
--- a/SushiBar/SushiBarDatabaseImplement/Migrations/20240507181620_lab6.cs
+++ /dev/null
@@ -1,186 +0,0 @@
-using System;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
-
-#nullable disable
-
-namespace SushiBarDatabaseImplement.Migrations
-{
- ///
- public partial class lab6 : Migration
- {
- ///
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.CreateTable(
- name: "Clients",
- columns: table => new
- {
- Id = table.Column(type: "integer", nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
- ClientFIO = table.Column(type: "text", nullable: false),
- Email = table.Column(type: "text", nullable: false),
- Password = table.Column(type: "text", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Clients", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "Components",
- columns: table => new
- {
- Id = table.Column(type: "integer", nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
- ComponentName = table.Column(type: "text", nullable: false),
- Cost = table.Column(type: "double precision", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Components", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "Implementers",
- columns: table => new
- {
- Id = table.Column(type: "integer", nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
- ImplementerFIO = table.Column(type: "text", nullable: false),
- Password = table.Column(type: "text", nullable: false),
- Qualification = table.Column(type: "integer", nullable: false),
- WorkExperience = table.Column(type: "integer", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Implementers", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "Sushis",
- columns: table => new
- {
- Id = table.Column(type: "integer", nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
- SushiName = table.Column(type: "text", nullable: false),
- Price = table.Column(type: "double precision", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Sushis", x => x.Id);
- });
-
- 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),
- SushiId = table.Column(type: "integer", nullable: false),
- ClientId = table.Column(type: "integer", nullable: false),
- ImplementerId = table.Column(type: "integer", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Orders", x => x.Id);
- table.ForeignKey(
- name: "FK_Orders_Clients_ClientId",
- column: x => x.ClientId,
- principalTable: "Clients",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_Orders_Implementers_ImplementerId",
- column: x => x.ImplementerId,
- principalTable: "Implementers",
- principalColumn: "Id");
- table.ForeignKey(
- name: "FK_Orders_Sushis_SushiId",
- column: x => x.SushiId,
- principalTable: "Sushis",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "SushiComponents",
- columns: table => new
- {
- Id = table.Column(type: "integer", nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
- SushiId = 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_SushiComponents", x => x.Id);
- table.ForeignKey(
- name: "FK_SushiComponents_Components_ComponentId",
- column: x => x.ComponentId,
- principalTable: "Components",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_SushiComponents_Sushis_SushiId",
- column: x => x.SushiId,
- principalTable: "Sushis",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateIndex(
- name: "IX_Orders_ClientId",
- table: "Orders",
- column: "ClientId");
-
- migrationBuilder.CreateIndex(
- name: "IX_Orders_ImplementerId",
- table: "Orders",
- column: "ImplementerId");
-
- migrationBuilder.CreateIndex(
- name: "IX_Orders_SushiId",
- table: "Orders",
- column: "SushiId");
-
- migrationBuilder.CreateIndex(
- name: "IX_SushiComponents_ComponentId",
- table: "SushiComponents",
- column: "ComponentId");
-
- migrationBuilder.CreateIndex(
- name: "IX_SushiComponents_SushiId",
- table: "SushiComponents",
- column: "SushiId");
- }
-
- ///
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropTable(
- name: "Orders");
-
- migrationBuilder.DropTable(
- name: "SushiComponents");
-
- migrationBuilder.DropTable(
- name: "Clients");
-
- migrationBuilder.DropTable(
- name: "Implementers");
-
- migrationBuilder.DropTable(
- name: "Components");
-
- migrationBuilder.DropTable(
- name: "Sushis");
- }
- }
-}
diff --git a/SushiBar/SushiBarDatabaseImplement/Migrations/SushiBarDatabaseModelSnapshot.cs b/SushiBar/SushiBarDatabaseImplement/Migrations/SushiBarDatabaseModelSnapshot.cs
deleted file mode 100644
index 490d248..0000000
--- a/SushiBar/SushiBarDatabaseImplement/Migrations/SushiBarDatabaseModelSnapshot.cs
+++ /dev/null
@@ -1,249 +0,0 @@
-//
-using System;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
-using SushiBarDatabaseImplement;
-
-#nullable disable
-
-namespace SushiBarDatabaseImplement.Migrations
-{
- [DbContext(typeof(SushiBarDatabase))]
- partial class SushiBarDatabaseModelSnapshot : ModelSnapshot
- {
- protected override void BuildModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "7.0.16")
- .HasAnnotation("Relational:MaxIdentifierLength", 63);
-
- NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Client", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("ClientFIO")
- .IsRequired()
- .HasColumnType("text");
-
- b.Property("Email")
- .IsRequired()
- .HasColumnType("text");
-
- b.Property("Password")
- .IsRequired()
- .HasColumnType("text");
-
- b.HasKey("Id");
-
- b.ToTable("Clients");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Component", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("ComponentName")
- .IsRequired()
- .HasColumnType("text");
-
- b.Property("Cost")
- .HasColumnType("double precision");
-
- b.HasKey("Id");
-
- b.ToTable("Components");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Implementer", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("ImplementerFIO")
- .IsRequired()
- .HasColumnType("text");
-
- b.Property("Password")
- .IsRequired()
- .HasColumnType("text");
-
- b.Property("Qualification")
- .HasColumnType("integer");
-
- b.Property("WorkExperience")
- .HasColumnType("integer");
-
- b.HasKey("Id");
-
- b.ToTable("Implementers");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Order", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("ClientId")
- .HasColumnType("integer");
-
- b.Property("Count")
- .HasColumnType("integer");
-
- b.Property("DateCreate")
- .HasColumnType("timestamp without time zone");
-
- b.Property("DateImplement")
- .HasColumnType("timestamp without time zone");
-
- b.Property("ImplementerId")
- .HasColumnType("integer");
-
- b.Property("Status")
- .HasColumnType("integer");
-
- b.Property("Sum")
- .HasColumnType("double precision");
-
- b.Property("SushiId")
- .HasColumnType("integer");
-
- b.HasKey("Id");
-
- b.HasIndex("ClientId");
-
- b.HasIndex("ImplementerId");
-
- b.HasIndex("SushiId");
-
- b.ToTable("Orders");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Sushi", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("Price")
- .HasColumnType("double precision");
-
- b.Property("SushiName")
- .IsRequired()
- .HasColumnType("text");
-
- b.HasKey("Id");
-
- b.ToTable("Sushis");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.SushiComponent", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("ComponentId")
- .HasColumnType("integer");
-
- b.Property("Count")
- .HasColumnType("integer");
-
- b.Property("SushiId")
- .HasColumnType("integer");
-
- b.HasKey("Id");
-
- b.HasIndex("ComponentId");
-
- b.HasIndex("SushiId");
-
- b.ToTable("SushiComponents");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Order", b =>
- {
- b.HasOne("SushiBarDatabaseImplement.Models.Client", "Client")
- .WithMany()
- .HasForeignKey("ClientId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("SushiBarDatabaseImplement.Models.Implementer", "Implementer")
- .WithMany("Orders")
- .HasForeignKey("ImplementerId");
-
- b.HasOne("SushiBarDatabaseImplement.Models.Sushi", "Sushi")
- .WithMany("Orders")
- .HasForeignKey("SushiId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.Navigation("Client");
-
- b.Navigation("Implementer");
-
- b.Navigation("Sushi");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.SushiComponent", b =>
- {
- b.HasOne("SushiBarDatabaseImplement.Models.Component", "Component")
- .WithMany("SushiComponents")
- .HasForeignKey("ComponentId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("SushiBarDatabaseImplement.Models.Sushi", "Sushi")
- .WithMany("Components")
- .HasForeignKey("SushiId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.Navigation("Component");
-
- b.Navigation("Sushi");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Component", b =>
- {
- b.Navigation("SushiComponents");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Implementer", b =>
- {
- b.Navigation("Orders");
- });
-
- modelBuilder.Entity("SushiBarDatabaseImplement.Models.Sushi", b =>
- {
- b.Navigation("Components");
-
- b.Navigation("Orders");
- });
-#pragma warning restore 612, 618
- }
- }
-}