2023-04-09 00:34:25 +04:00
|
|
|
|
using System;
|
|
|
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
|
|
|
|
|
|
|
|
#nullable disable
|
|
|
|
|
|
|
|
|
|
namespace CanteenDatabaseImplement.Migrations
|
|
|
|
|
{
|
|
|
|
|
/// <inheritdoc />
|
2023-05-18 01:40:11 +04:00
|
|
|
|
public partial class InitMigr : Migration
|
2023-04-09 00:34:25 +04:00
|
|
|
|
{
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
|
protected override void Up(MigrationBuilder migrationBuilder)
|
|
|
|
|
{
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
name: "Managers",
|
|
|
|
|
columns: table => new
|
|
|
|
|
{
|
|
|
|
|
Id = table.Column<int>(type: "int", nullable: false)
|
|
|
|
|
.Annotation("SqlServer:Identity", "1, 1"),
|
|
|
|
|
FIO = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
|
|
|
Login = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
|
|
|
Password = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
|
|
|
PhoneNumber = table.Column<string>(type: "nvarchar(max)", nullable: false)
|
|
|
|
|
},
|
|
|
|
|
constraints: table =>
|
|
|
|
|
{
|
|
|
|
|
table.PrimaryKey("PK_Managers", x => x.Id);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
name: "Visitors",
|
|
|
|
|
columns: table => new
|
|
|
|
|
{
|
|
|
|
|
Id = table.Column<int>(type: "int", nullable: false)
|
|
|
|
|
.Annotation("SqlServer:Identity", "1, 1"),
|
|
|
|
|
FIO = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
|
|
|
Login = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
|
|
|
Password = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
|
|
|
PhoneNumber = table.Column<string>(type: "nvarchar(max)", nullable: false)
|
|
|
|
|
},
|
|
|
|
|
constraints: table =>
|
|
|
|
|
{
|
|
|
|
|
table.PrimaryKey("PK_Visitors", x => x.Id);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
name: "Cooks",
|
|
|
|
|
columns: table => new
|
|
|
|
|
{
|
|
|
|
|
Id = table.Column<int>(type: "int", nullable: false)
|
|
|
|
|
.Annotation("SqlServer:Identity", "1, 1"),
|
|
|
|
|
ManagerId = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
FIO = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
|
|
|
Position = table.Column<string>(type: "nvarchar(max)", nullable: false)
|
|
|
|
|
},
|
|
|
|
|
constraints: table =>
|
|
|
|
|
{
|
|
|
|
|
table.PrimaryKey("PK_Cooks", x => x.Id);
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_Cooks_Managers_ManagerId",
|
|
|
|
|
column: x => x.ManagerId,
|
|
|
|
|
principalTable: "Managers",
|
|
|
|
|
principalColumn: "Id",
|
|
|
|
|
onDelete: ReferentialAction.Cascade);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
name: "Dishes",
|
|
|
|
|
columns: table => new
|
|
|
|
|
{
|
|
|
|
|
Id = table.Column<int>(type: "int", nullable: false)
|
|
|
|
|
.Annotation("SqlServer:Identity", "1, 1"),
|
|
|
|
|
DishName = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
|
|
|
Price = table.Column<double>(type: "float", nullable: false),
|
|
|
|
|
ManagerId = table.Column<int>(type: "int", nullable: false)
|
|
|
|
|
},
|
|
|
|
|
constraints: table =>
|
|
|
|
|
{
|
|
|
|
|
table.PrimaryKey("PK_Dishes", x => x.Id);
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_Dishes_Managers_ManagerId",
|
|
|
|
|
column: x => x.ManagerId,
|
|
|
|
|
principalTable: "Managers",
|
|
|
|
|
principalColumn: "Id",
|
|
|
|
|
onDelete: ReferentialAction.Cascade);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
name: "Products",
|
|
|
|
|
columns: table => new
|
|
|
|
|
{
|
|
|
|
|
Id = table.Column<int>(type: "int", nullable: false)
|
|
|
|
|
.Annotation("SqlServer:Identity", "1, 1"),
|
|
|
|
|
ProductName = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
|
|
|
Price = table.Column<double>(type: "float", nullable: false),
|
|
|
|
|
ManagerId = table.Column<int>(type: "int", nullable: false)
|
|
|
|
|
},
|
|
|
|
|
constraints: table =>
|
|
|
|
|
{
|
|
|
|
|
table.PrimaryKey("PK_Products", x => x.Id);
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_Products_Managers_ManagerId",
|
|
|
|
|
column: x => x.ManagerId,
|
|
|
|
|
principalTable: "Managers",
|
|
|
|
|
principalColumn: "Id",
|
|
|
|
|
onDelete: ReferentialAction.Cascade);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
name: "Lunches",
|
|
|
|
|
columns: table => new
|
|
|
|
|
{
|
|
|
|
|
Id = table.Column<int>(type: "int", nullable: false)
|
|
|
|
|
.Annotation("SqlServer:Identity", "1, 1"),
|
|
|
|
|
VisitorId = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
LunchName = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
|
|
|
Sum = table.Column<double>(type: "float", nullable: false),
|
|
|
|
|
Status = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
DateCreate = table.Column<DateTime>(type: "datetime2", nullable: false),
|
|
|
|
|
DateImplement = table.Column<DateTime>(type: "datetime2", nullable: true)
|
|
|
|
|
},
|
|
|
|
|
constraints: table =>
|
|
|
|
|
{
|
|
|
|
|
table.PrimaryKey("PK_Lunches", x => x.Id);
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_Lunches_Visitors_VisitorId",
|
|
|
|
|
column: x => x.VisitorId,
|
|
|
|
|
principalTable: "Visitors",
|
|
|
|
|
principalColumn: "Id",
|
|
|
|
|
onDelete: ReferentialAction.Cascade);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
name: "Tablewares",
|
|
|
|
|
columns: table => new
|
|
|
|
|
{
|
|
|
|
|
Id = table.Column<int>(type: "int", nullable: false)
|
|
|
|
|
.Annotation("SqlServer:Identity", "1, 1"),
|
|
|
|
|
VisitorId = table.Column<int>(type: "int", nullable: false),
|
2023-05-18 01:40:11 +04:00
|
|
|
|
TablewareName = table.Column<string>(type: "nvarchar(max)", nullable: false)
|
2023-04-09 00:34:25 +04:00
|
|
|
|
},
|
|
|
|
|
constraints: table =>
|
|
|
|
|
{
|
|
|
|
|
table.PrimaryKey("PK_Tablewares", x => x.Id);
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_Tablewares_Visitors_VisitorId",
|
|
|
|
|
column: x => x.VisitorId,
|
|
|
|
|
principalTable: "Visitors",
|
|
|
|
|
principalColumn: "Id",
|
|
|
|
|
onDelete: ReferentialAction.Cascade);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
name: "DishProduct",
|
|
|
|
|
columns: table => new
|
|
|
|
|
{
|
|
|
|
|
DishId = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
ProductId = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
Id = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
CountProducts = table.Column<int>(type: "int", nullable: false)
|
|
|
|
|
},
|
|
|
|
|
constraints: table =>
|
|
|
|
|
{
|
|
|
|
|
table.PrimaryKey("PK_DishProduct", x => new { x.DishId, x.ProductId });
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_DishProduct_Dishes_DishId",
|
|
|
|
|
column: x => x.DishId,
|
|
|
|
|
principalTable: "Dishes",
|
|
|
|
|
principalColumn: "Id");
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_DishProduct_Products_ProductId",
|
|
|
|
|
column: x => x.ProductId,
|
|
|
|
|
principalTable: "Products",
|
|
|
|
|
principalColumn: "Id");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
name: "ProductCook",
|
|
|
|
|
columns: table => new
|
|
|
|
|
{
|
|
|
|
|
ProductId = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
CookId = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
Id = table.Column<int>(type: "int", nullable: false)
|
|
|
|
|
},
|
|
|
|
|
constraints: table =>
|
|
|
|
|
{
|
|
|
|
|
table.PrimaryKey("PK_ProductCook", x => new { x.ProductId, x.CookId });
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_ProductCook_Cooks_CookId",
|
|
|
|
|
column: x => x.CookId,
|
|
|
|
|
principalTable: "Cooks",
|
|
|
|
|
principalColumn: "Id");
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_ProductCook_Products_ProductId",
|
|
|
|
|
column: x => x.ProductId,
|
|
|
|
|
principalTable: "Products",
|
|
|
|
|
principalColumn: "Id");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
name: "LunchProduct",
|
|
|
|
|
columns: table => new
|
|
|
|
|
{
|
|
|
|
|
LunchId = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
ProductId = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
Id = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
CountProducts = table.Column<int>(type: "int", nullable: false)
|
|
|
|
|
},
|
|
|
|
|
constraints: table =>
|
|
|
|
|
{
|
|
|
|
|
table.PrimaryKey("PK_LunchProduct", x => new { x.LunchId, x.ProductId });
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_LunchProduct_Lunches_LunchId",
|
|
|
|
|
column: x => x.LunchId,
|
|
|
|
|
principalTable: "Lunches",
|
|
|
|
|
principalColumn: "Id");
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_LunchProduct_Products_ProductId",
|
|
|
|
|
column: x => x.ProductId,
|
|
|
|
|
principalTable: "Products",
|
|
|
|
|
principalColumn: "Id");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
name: "Orders",
|
|
|
|
|
columns: table => new
|
|
|
|
|
{
|
|
|
|
|
Id = table.Column<int>(type: "int", nullable: false)
|
|
|
|
|
.Annotation("SqlServer:Identity", "1, 1"),
|
|
|
|
|
VisitorId = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
TablewareId = table.Column<int>(type: "int", nullable: false),
|
2023-05-18 01:40:11 +04:00
|
|
|
|
CountTablewares = table.Column<int>(type: "int", nullable: true),
|
2023-04-09 00:34:25 +04:00
|
|
|
|
Description = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
|
|
|
|
Sum = table.Column<double>(type: "float", nullable: true)
|
|
|
|
|
},
|
|
|
|
|
constraints: table =>
|
|
|
|
|
{
|
|
|
|
|
table.PrimaryKey("PK_Orders", x => x.Id);
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_Orders_Tablewares_TablewareId",
|
|
|
|
|
column: x => x.TablewareId,
|
|
|
|
|
principalTable: "Tablewares",
|
|
|
|
|
principalColumn: "Id",
|
|
|
|
|
onDelete: ReferentialAction.Cascade);
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_Orders_Visitors_VisitorId",
|
|
|
|
|
column: x => x.VisitorId,
|
|
|
|
|
principalTable: "Visitors",
|
|
|
|
|
principalColumn: "Id");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
name: "LunchOrder",
|
|
|
|
|
columns: table => new
|
|
|
|
|
{
|
|
|
|
|
LunchId = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
OrderId = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
Id = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
CountOrders = table.Column<int>(type: "int", nullable: false)
|
|
|
|
|
},
|
|
|
|
|
constraints: table =>
|
|
|
|
|
{
|
|
|
|
|
table.PrimaryKey("PK_LunchOrder", x => new { x.LunchId, x.OrderId });
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_LunchOrder_Lunches_LunchId",
|
|
|
|
|
column: x => x.LunchId,
|
|
|
|
|
principalTable: "Lunches",
|
|
|
|
|
principalColumn: "Id");
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_LunchOrder_Orders_OrderId",
|
|
|
|
|
column: x => x.OrderId,
|
|
|
|
|
principalTable: "Orders",
|
|
|
|
|
principalColumn: "Id");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
name: "OrderCook",
|
|
|
|
|
columns: table => new
|
|
|
|
|
{
|
|
|
|
|
CookId = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
OrderId = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
Id = table.Column<int>(type: "int", nullable: false)
|
|
|
|
|
},
|
|
|
|
|
constraints: table =>
|
|
|
|
|
{
|
|
|
|
|
table.PrimaryKey("PK_OrderCook", x => new { x.OrderId, x.CookId });
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_OrderCook_Cooks_CookId",
|
|
|
|
|
column: x => x.CookId,
|
|
|
|
|
principalTable: "Cooks",
|
|
|
|
|
principalColumn: "Id");
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_OrderCook_Orders_OrderId",
|
|
|
|
|
column: x => x.OrderId,
|
|
|
|
|
principalTable: "Orders",
|
|
|
|
|
principalColumn: "Id");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateTable(
|
|
|
|
|
name: "OrderDish",
|
|
|
|
|
columns: table => new
|
|
|
|
|
{
|
|
|
|
|
OrderId = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
DishId = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
Id = table.Column<int>(type: "int", nullable: false),
|
|
|
|
|
CountDishes = table.Column<int>(type: "int", nullable: false)
|
|
|
|
|
},
|
|
|
|
|
constraints: table =>
|
|
|
|
|
{
|
|
|
|
|
table.PrimaryKey("PK_OrderDish", x => new { x.OrderId, x.DishId });
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_OrderDish_Dishes_DishId",
|
|
|
|
|
column: x => x.DishId,
|
|
|
|
|
principalTable: "Dishes",
|
|
|
|
|
principalColumn: "Id");
|
|
|
|
|
table.ForeignKey(
|
|
|
|
|
name: "FK_OrderDish_Orders_OrderId",
|
|
|
|
|
column: x => x.OrderId,
|
|
|
|
|
principalTable: "Orders",
|
|
|
|
|
principalColumn: "Id");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
name: "IX_Cooks_ManagerId",
|
|
|
|
|
table: "Cooks",
|
|
|
|
|
column: "ManagerId");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
name: "IX_Dishes_ManagerId",
|
|
|
|
|
table: "Dishes",
|
|
|
|
|
column: "ManagerId");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
name: "IX_DishProduct_ProductId",
|
|
|
|
|
table: "DishProduct",
|
|
|
|
|
column: "ProductId");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
name: "IX_Lunches_VisitorId",
|
|
|
|
|
table: "Lunches",
|
|
|
|
|
column: "VisitorId");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
name: "IX_LunchOrder_OrderId",
|
|
|
|
|
table: "LunchOrder",
|
|
|
|
|
column: "OrderId");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
name: "IX_LunchProduct_ProductId",
|
|
|
|
|
table: "LunchProduct",
|
|
|
|
|
column: "ProductId");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
name: "IX_OrderCook_CookId",
|
|
|
|
|
table: "OrderCook",
|
|
|
|
|
column: "CookId");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
name: "IX_OrderDish_DishId",
|
|
|
|
|
table: "OrderDish",
|
|
|
|
|
column: "DishId");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
name: "IX_Orders_TablewareId",
|
|
|
|
|
table: "Orders",
|
|
|
|
|
column: "TablewareId");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
name: "IX_Orders_VisitorId",
|
|
|
|
|
table: "Orders",
|
|
|
|
|
column: "VisitorId");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
name: "IX_ProductCook_CookId",
|
|
|
|
|
table: "ProductCook",
|
|
|
|
|
column: "CookId");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
name: "IX_Products_ManagerId",
|
|
|
|
|
table: "Products",
|
|
|
|
|
column: "ManagerId");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.CreateIndex(
|
|
|
|
|
name: "IX_Tablewares_VisitorId",
|
|
|
|
|
table: "Tablewares",
|
|
|
|
|
column: "VisitorId");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <inheritdoc />
|
|
|
|
|
protected override void Down(MigrationBuilder migrationBuilder)
|
|
|
|
|
{
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
|
name: "DishProduct");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
|
name: "LunchOrder");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
|
name: "LunchProduct");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
|
name: "OrderCook");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
|
name: "OrderDish");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
|
name: "ProductCook");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
|
name: "Lunches");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
|
name: "Dishes");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
|
name: "Orders");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
|
name: "Cooks");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
|
name: "Products");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
|
name: "Tablewares");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
|
name: "Managers");
|
|
|
|
|
|
|
|
|
|
migrationBuilder.DropTable(
|
|
|
|
|
name: "Visitors");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|