From 3265c518403b2df23c48d524b715c9e6bca1690b Mon Sep 17 00:00:00 2001 From: m1aksim1 Date: Tue, 4 Apr 2023 00:41:21 +0400 Subject: [PATCH] fix database --- .../20230403180442_InitialCreate.cs | 67 ------- ...ner.cs => 20230403203641_init.Designer.cs} | 4 +- .../Migrations/20230403203641_init.cs | 185 ++++++++++++++++++ 3 files changed, 187 insertions(+), 69 deletions(-) delete mode 100644 SoftwareInstallation/SoftwareInstallationDatabaseImplement/Migrations/20230403180442_InitialCreate.cs rename SoftwareInstallation/SoftwareInstallationDatabaseImplement/Migrations/{20230403180442_InitialCreate.Designer.cs => 20230403203641_init.Designer.cs} (99%) create mode 100644 SoftwareInstallation/SoftwareInstallationDatabaseImplement/Migrations/20230403203641_init.cs diff --git a/SoftwareInstallation/SoftwareInstallationDatabaseImplement/Migrations/20230403180442_InitialCreate.cs b/SoftwareInstallation/SoftwareInstallationDatabaseImplement/Migrations/20230403180442_InitialCreate.cs deleted file mode 100644 index 0685746..0000000 --- a/SoftwareInstallation/SoftwareInstallationDatabaseImplement/Migrations/20230403180442_InitialCreate.cs +++ /dev/null @@ -1,67 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace SoftwareInstallationDatabaseImplement.Migrations -{ - /// - public partial class InitialCreate : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "ImplementerId", - table: "Orders", - type: "int", - nullable: true); - - migrationBuilder.CreateTable( - name: "Implementers", - columns: table => new - { - Id = table.Column(type: "int", nullable: false) - .Annotation("SqlServer:Identity", "1, 1"), - ImplementerFIO = table.Column(type: "nvarchar(max)", nullable: false), - Password = table.Column(type: "nvarchar(max)", nullable: false), - WorkExperience = table.Column(type: "int", nullable: false), - Qualification = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Implementers", x => x.Id); - }); - - migrationBuilder.CreateIndex( - name: "IX_Orders_ImplementerId", - table: "Orders", - column: "ImplementerId"); - - migrationBuilder.AddForeignKey( - name: "FK_Orders_Implementers_ImplementerId", - table: "Orders", - column: "ImplementerId", - principalTable: "Implementers", - principalColumn: "Id"); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_Orders_Implementers_ImplementerId", - table: "Orders"); - - migrationBuilder.DropTable( - name: "Implementers"); - - migrationBuilder.DropIndex( - name: "IX_Orders_ImplementerId", - table: "Orders"); - - migrationBuilder.DropColumn( - name: "ImplementerId", - table: "Orders"); - } - } -} diff --git a/SoftwareInstallation/SoftwareInstallationDatabaseImplement/Migrations/20230403180442_InitialCreate.Designer.cs b/SoftwareInstallation/SoftwareInstallationDatabaseImplement/Migrations/20230403203641_init.Designer.cs similarity index 99% rename from SoftwareInstallation/SoftwareInstallationDatabaseImplement/Migrations/20230403180442_InitialCreate.Designer.cs rename to SoftwareInstallation/SoftwareInstallationDatabaseImplement/Migrations/20230403203641_init.Designer.cs index e03ccfe..17e0647 100644 --- a/SoftwareInstallation/SoftwareInstallationDatabaseImplement/Migrations/20230403180442_InitialCreate.Designer.cs +++ b/SoftwareInstallation/SoftwareInstallationDatabaseImplement/Migrations/20230403203641_init.Designer.cs @@ -12,8 +12,8 @@ using SoftwareInstallationDatabaseImplement; namespace SoftwareInstallationDatabaseImplement.Migrations { [DbContext(typeof(SoftwareInstallationDatabase))] - [Migration("20230403180442_InitialCreate")] - partial class InitialCreate + [Migration("20230403203641_init")] + partial class init { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) diff --git a/SoftwareInstallation/SoftwareInstallationDatabaseImplement/Migrations/20230403203641_init.cs b/SoftwareInstallation/SoftwareInstallationDatabaseImplement/Migrations/20230403203641_init.cs new file mode 100644 index 0000000..2fce27d --- /dev/null +++ b/SoftwareInstallation/SoftwareInstallationDatabaseImplement/Migrations/20230403203641_init.cs @@ -0,0 +1,185 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace SoftwareInstallationDatabaseImplement.Migrations +{ + /// + public partial class init : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Clients", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + ClientFIO = table.Column(type: "nvarchar(max)", nullable: false), + Email = table.Column(type: "nvarchar(max)", nullable: false), + Password = table.Column(type: "nvarchar(max)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Clients", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Components", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + ComponentName = table.Column(type: "nvarchar(max)", nullable: false), + Cost = table.Column(type: "float", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Components", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Implementers", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + ImplementerFIO = table.Column(type: "nvarchar(max)", nullable: false), + Password = table.Column(type: "nvarchar(max)", nullable: false), + WorkExperience = table.Column(type: "int", nullable: false), + Qualification = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Implementers", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Packages", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + PackageName = table.Column(type: "nvarchar(max)", nullable: false), + Price = table.Column(type: "float", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Packages", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Orders", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + PackageId = table.Column(type: "int", nullable: false), + ClientId = table.Column(type: "int", nullable: false), + ImplementerId = table.Column(type: "int", nullable: true), + Count = table.Column(type: "int", nullable: false), + Sum = table.Column(type: "float", nullable: false), + Status = table.Column(type: "int", nullable: false), + DateCreate = table.Column(type: "datetime2", nullable: false), + DateImplement = table.Column(type: "datetime2", 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_Packages_PackageId", + column: x => x.PackageId, + principalTable: "Packages", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "PackageComponents", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + PackageId = table.Column(type: "int", nullable: false), + ComponentId = table.Column(type: "int", nullable: false), + Count = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_PackageComponents", x => x.Id); + table.ForeignKey( + name: "FK_PackageComponents_Components_ComponentId", + column: x => x.ComponentId, + principalTable: "Components", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_PackageComponents_Packages_PackageId", + column: x => x.PackageId, + principalTable: "Packages", + 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_PackageId", + table: "Orders", + column: "PackageId"); + + migrationBuilder.CreateIndex( + name: "IX_PackageComponents_ComponentId", + table: "PackageComponents", + column: "ComponentId"); + + migrationBuilder.CreateIndex( + name: "IX_PackageComponents_PackageId", + table: "PackageComponents", + column: "PackageId"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "Orders"); + + migrationBuilder.DropTable( + name: "PackageComponents"); + + migrationBuilder.DropTable( + name: "Clients"); + + migrationBuilder.DropTable( + name: "Implementers"); + + migrationBuilder.DropTable( + name: "Components"); + + migrationBuilder.DropTable( + name: "Packages"); + } + } +}