using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace CarServiceDatabase.Migrations { /// public partial class InitMigration : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Customers", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Login = table.Column(type: "nvarchar(max)", nullable: false), Password = table.Column(type: "nvarchar(max)", nullable: false), Name = table.Column(type: "nvarchar(max)", nullable: false), Surname = table.Column(type: "nvarchar(max)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Customers", x => x.Id); }); migrationBuilder.CreateTable( name: "Workers", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Login = table.Column(type: "nvarchar(max)", nullable: false), Password = table.Column(type: "nvarchar(max)", nullable: false), Name = table.Column(type: "nvarchar(max)", nullable: false), Surname = table.Column(type: "nvarchar(max)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Workers", x => x.Id); }); migrationBuilder.CreateTable( name: "Vehicles", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Name = table.Column(type: "nvarchar(max)", nullable: false), Plate = table.Column(type: "nvarchar(max)", nullable: true), VIN = table.Column(type: "nvarchar(max)", nullable: true), CustomerId = table.Column(type: "int", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Vehicles", x => x.Id); table.ForeignKey( name: "FK_Vehicles_Customers_CustomerId", column: x => x.CustomerId, principalTable: "Customers", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Items", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Name = table.Column(type: "nvarchar(max)", nullable: false), Price = table.Column(type: "decimal (10,2)", nullable: false), Count = table.Column(type: "int", nullable: false), WorkerId = table.Column(type: "int", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Items", x => x.Id); table.ForeignKey( name: "FK_Items_Workers_WorkerId", column: x => x.WorkerId, principalTable: "Workers", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Works", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Name = table.Column(type: "nvarchar(max)", nullable: false), Price = table.Column(type: "decimal (10,2)", nullable: false), Duration = table.Column(type: "decimal (3,1)", nullable: false), WorkerId = table.Column(type: "int", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Works", x => x.Id); table.ForeignKey( name: "FK_Works_Workers_WorkerId", column: x => x.WorkerId, principalTable: "Workers", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "RepairRequests", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), DateCreated = table.Column(type: "datetime2", nullable: false), VehicleId = table.Column(type: "int", nullable: false) }, constraints: table => { table.PrimaryKey("PK_RepairRequests", x => x.Id); table.ForeignKey( name: "FK_RepairRequests_Vehicles_VehicleId", column: x => x.VehicleId, principalTable: "Vehicles", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "ItemsForRepair", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Count = table.Column(type: "int", nullable: false), ItemId = table.Column(type: "int", nullable: false), RepairRequestId = table.Column(type: "int", nullable: false) }, constraints: table => { table.PrimaryKey("PK_ItemsForRepair", x => x.Id); table.ForeignKey( name: "FK_ItemsForRepair_Items_ItemId", column: x => x.ItemId, principalTable: "Items", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_ItemsForRepair_RepairRequests_RepairRequestId", column: x => x.RepairRequestId, principalTable: "RepairRequests", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "WorksInRequest", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Count = table.Column(type: "int", nullable: false), Cost = table.Column(type: "decimal (10,2)", nullable: false), RepairRequestId = table.Column(type: "int", nullable: false), WorkId = table.Column(type: "int", nullable: false) }, constraints: table => { table.PrimaryKey("PK_WorksInRequest", x => x.Id); table.ForeignKey( name: "FK_WorksInRequest_RepairRequests_RepairRequestId", column: x => x.RepairRequestId, principalTable: "RepairRequests", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_WorksInRequest_Works_WorkId", column: x => x.WorkId, principalTable: "Works", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "WorkPayments", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), DatePayment = table.Column(type: "datetime2", nullable: false), Sum = table.Column(type: "decimal (10,2)", nullable: false), WorkInRequestId = table.Column(type: "int", nullable: false) }, constraints: table => { table.PrimaryKey("PK_WorkPayments", x => x.Id); table.ForeignKey( name: "FK_WorkPayments_WorksInRequest_WorkInRequestId", column: x => x.WorkInRequestId, principalTable: "WorksInRequest", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_Items_WorkerId", table: "Items", column: "WorkerId"); migrationBuilder.CreateIndex( name: "IX_ItemsForRepair_ItemId", table: "ItemsForRepair", column: "ItemId"); migrationBuilder.CreateIndex( name: "IX_ItemsForRepair_RepairRequestId", table: "ItemsForRepair", column: "RepairRequestId"); migrationBuilder.CreateIndex( name: "IX_RepairRequests_VehicleId", table: "RepairRequests", column: "VehicleId"); migrationBuilder.CreateIndex( name: "IX_Vehicles_CustomerId", table: "Vehicles", column: "CustomerId"); migrationBuilder.CreateIndex( name: "IX_WorkPayments_WorkInRequestId", table: "WorkPayments", column: "WorkInRequestId"); migrationBuilder.CreateIndex( name: "IX_Works_WorkerId", table: "Works", column: "WorkerId"); migrationBuilder.CreateIndex( name: "IX_WorksInRequest_RepairRequestId", table: "WorksInRequest", column: "RepairRequestId"); migrationBuilder.CreateIndex( name: "IX_WorksInRequest_WorkId", table: "WorksInRequest", column: "WorkId"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "ItemsForRepair"); migrationBuilder.DropTable( name: "WorkPayments"); migrationBuilder.DropTable( name: "Items"); migrationBuilder.DropTable( name: "WorksInRequest"); migrationBuilder.DropTable( name: "RepairRequests"); migrationBuilder.DropTable( name: "Works"); migrationBuilder.DropTable( name: "Vehicles"); migrationBuilder.DropTable( name: "Workers"); migrationBuilder.DropTable( name: "Customers"); } } }