using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace CanteenDatabaseImplement.Migrations
{
///
public partial class Init : Migration
{
///
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Managers",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
FIO = table.Column(type: "nvarchar(max)", nullable: false),
Login = table.Column(type: "nvarchar(max)", nullable: false),
Password = table.Column(type: "nvarchar(max)", nullable: false),
PhoneNumber = table.Column(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Managers", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Visitors",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
FIO = table.Column(type: "nvarchar(max)", nullable: false),
Login = table.Column(type: "nvarchar(max)", nullable: false),
Password = table.Column(type: "nvarchar(max)", nullable: false),
PhoneNumber = table.Column(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Visitors", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Cooks",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ManagerId = table.Column(type: "int", nullable: false),
FIO = table.Column(type: "nvarchar(max)", nullable: false),
Position = table.Column(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(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
DishName = table.Column(type: "nvarchar(max)", nullable: false),
Price = table.Column(type: "float", nullable: false),
ManagerId = table.Column(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(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ProductName = table.Column(type: "nvarchar(max)", nullable: false),
Price = table.Column(type: "float", nullable: false),
ManagerId = table.Column(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(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
VisitorId = table.Column(type: "int", nullable: false),
LunchName = table.Column(type: "nvarchar(max)", 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_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: "Orders",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
VisitorId = table.Column(type: "int", nullable: false),
Description = table.Column(type: "nvarchar(max)", nullable: false),
Sum = table.Column(type: "float", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Orders", x => x.Id);
table.ForeignKey(
name: "FK_Orders_Visitors_VisitorId",
column: x => x.VisitorId,
principalTable: "Visitors",
principalColumn: "Id");
});
migrationBuilder.CreateTable(
name: "Tablewares",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
VisitorId = table.Column(type: "int", nullable: false),
TablewareName = table.Column(type: "nvarchar(max)", nullable: false)
},
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
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
DishId = table.Column(type: "int", nullable: false),
ProductId = table.Column(type: "int", nullable: false),
CountProducts = table.Column(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_DishProduct", x => x.Id);
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
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ProductId = table.Column(type: "int", nullable: false),
CookId = table.Column(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ProductCook", x => x.Id);
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
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
LunchId = table.Column(type: "int", nullable: false),
ProductId = table.Column(type: "int", nullable: false),
CountProducts = table.Column(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_LunchProduct", x => x.Id);
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: "LunchOrder",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
LunchId = table.Column(type: "int", nullable: false),
OrderId = table.Column(type: "int", nullable: false),
CountOrders = table.Column(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_LunchOrder", x => x.Id);
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
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
CookId = table.Column(type: "int", nullable: false),
OrderId = table.Column(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_OrderCook", x => x.Id);
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: "OrderTableware",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
OrderId = table.Column(type: "int", nullable: false),
TablewareId = table.Column(type: "int", nullable: false),
CountTablewares = table.Column(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_OrderTableware", x => x.Id);
table.ForeignKey(
name: "FK_OrderTableware_Orders_OrderId",
column: x => x.OrderId,
principalTable: "Orders",
principalColumn: "Id");
table.ForeignKey(
name: "FK_OrderTableware_Tablewares_TablewareId",
column: x => x.TablewareId,
principalTable: "Tablewares",
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_DishId",
table: "DishProduct",
column: "DishId");
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_LunchId",
table: "LunchOrder",
column: "LunchId");
migrationBuilder.CreateIndex(
name: "IX_LunchOrder_OrderId",
table: "LunchOrder",
column: "OrderId");
migrationBuilder.CreateIndex(
name: "IX_LunchProduct_LunchId",
table: "LunchProduct",
column: "LunchId");
migrationBuilder.CreateIndex(
name: "IX_LunchProduct_ProductId",
table: "LunchProduct",
column: "ProductId");
migrationBuilder.CreateIndex(
name: "IX_OrderCook_CookId",
table: "OrderCook",
column: "CookId");
migrationBuilder.CreateIndex(
name: "IX_OrderCook_OrderId",
table: "OrderCook",
column: "OrderId");
migrationBuilder.CreateIndex(
name: "IX_Orders_VisitorId",
table: "Orders",
column: "VisitorId");
migrationBuilder.CreateIndex(
name: "IX_OrderTableware_OrderId",
table: "OrderTableware",
column: "OrderId");
migrationBuilder.CreateIndex(
name: "IX_OrderTableware_TablewareId",
table: "OrderTableware",
column: "TablewareId");
migrationBuilder.CreateIndex(
name: "IX_ProductCook_CookId",
table: "ProductCook",
column: "CookId");
migrationBuilder.CreateIndex(
name: "IX_ProductCook_ProductId",
table: "ProductCook",
column: "ProductId");
migrationBuilder.CreateIndex(
name: "IX_Products_ManagerId",
table: "Products",
column: "ManagerId");
migrationBuilder.CreateIndex(
name: "IX_Tablewares_VisitorId",
table: "Tablewares",
column: "VisitorId");
}
///
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: "OrderTableware");
migrationBuilder.DropTable(
name: "ProductCook");
migrationBuilder.DropTable(
name: "Dishes");
migrationBuilder.DropTable(
name: "Lunches");
migrationBuilder.DropTable(
name: "Orders");
migrationBuilder.DropTable(
name: "Tablewares");
migrationBuilder.DropTable(
name: "Cooks");
migrationBuilder.DropTable(
name: "Products");
migrationBuilder.DropTable(
name: "Visitors");
migrationBuilder.DropTable(
name: "Managers");
}
}
}