using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace HotelDataBaseImplement.Migrations
{
///
public partial class InitialCreate : Migration
{
///
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Headwaiters",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
HeadwaiterFIO = table.Column(type: "nvarchar(max)", nullable: false),
HeadwaiterEmail = table.Column(type: "nvarchar(max)", nullable: false),
HeadwaiterPassword = table.Column(type: "nvarchar(max)", nullable: false),
HeadwaiterLogin = table.Column(type: "nvarchar(max)", nullable: false),
HeadwaiterNumber = table.Column(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Headwaiters", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Organisers",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
OrganiserFIO = table.Column(type: "nvarchar(max)", nullable: false),
OrganiserPassword = table.Column(type: "nvarchar(max)", nullable: false),
OrganiserLogin = table.Column(type: "nvarchar(max)", nullable: false),
OrganiserEmail = table.Column(type: "nvarchar(max)", nullable: false),
OrganiserNumber = table.Column(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Organisers", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Dinners",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
HeadwaiterId = table.Column(type: "int", nullable: false),
DinnerName = table.Column(type: "nvarchar(max)", nullable: false),
DinnetPrice = table.Column(type: "float", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Dinners", x => x.Id);
table.ForeignKey(
name: "FK_Dinners_Headwaiters_HeadwaiterId",
column: x => x.HeadwaiterId,
principalTable: "Headwaiters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Conferences",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ConferenceName = table.Column(type: "nvarchar(max)", nullable: false),
StartDate = table.Column(type: "datetime2", nullable: false),
OrganiserId = table.Column(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Conferences", x => x.Id);
table.ForeignKey(
name: "FK_Conferences_Organisers_OrganiserId",
column: x => x.OrganiserId,
principalTable: "Organisers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "MealPlans",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MealPlanName = table.Column(type: "nvarchar(max)", nullable: false),
MealPlanPrice = table.Column(type: "float", nullable: false),
OrganiserId = table.Column(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_MealPlans", x => x.Id);
table.ForeignKey(
name: "FK_MealPlans_Organisers_OrganiserId",
column: x => x.OrganiserId,
principalTable: "Organisers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Members",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MemberFIO = table.Column(type: "nvarchar(max)", nullable: false),
Citizenship = table.Column(type: "nvarchar(max)", nullable: false),
OrganiserId = table.Column(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Members", x => x.Id);
table.ForeignKey(
name: "FK_Members_Organisers_OrganiserId",
column: x => x.OrganiserId,
principalTable: "Organisers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "ConferenceBookings",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
HeadwaiterId = table.Column(type: "int", nullable: false),
ConferenceId = table.Column(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ConferenceBookings", x => x.Id);
table.ForeignKey(
name: "FK_ConferenceBookings_Conferences_ConferenceId",
column: x => x.ConferenceId,
principalTable: "Conferences",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ConferenceBookings_Headwaiters_HeadwaiterId",
column: x => x.HeadwaiterId,
principalTable: "Headwaiters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Rooms",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
RoomName = table.Column(type: "nvarchar(max)", nullable: false),
RoomFrame = table.Column(type: "nvarchar(max)", nullable: false),
RoomPrice = table.Column(type: "float", nullable: false),
HeadwaiterId = table.Column(type: "int", nullable: false),
MealPlanId = table.Column(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Rooms", x => x.Id);
table.ForeignKey(
name: "FK_Rooms_Headwaiters_HeadwaiterId",
column: x => x.HeadwaiterId,
principalTable: "Headwaiters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Rooms_MealPlans_MealPlanId",
column: x => x.MealPlanId,
principalTable: "MealPlans",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "ConferenceMembers",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MemberId = table.Column(type: "int", nullable: false),
ConferenceId = table.Column(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ConferenceMembers", x => x.Id);
table.ForeignKey(
name: "FK_ConferenceMembers_Conferences_ConferenceId",
column: x => x.ConferenceId,
principalTable: "Conferences",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ConferenceMembers_Members_MemberId",
column: x => x.MemberId,
principalTable: "Members",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "MealPlanMembers",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MemberId = table.Column(type: "int", nullable: false),
MealPlanId = table.Column(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_MealPlanMembers", x => x.Id);
table.ForeignKey(
name: "FK_MealPlanMembers_MealPlans_MealPlanId",
column: x => x.MealPlanId,
principalTable: "MealPlans",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_MealPlanMembers_Members_MemberId",
column: x => x.MemberId,
principalTable: "Members",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "ConferenceBookingDinners",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ConferenceBookingId = table.Column(type: "int", nullable: false),
DinnerId = table.Column(type: "int", nullable: false),
Count = table.Column(type: "int", nullable: false),
DinnercId = table.Column(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ConferenceBookingDinners", x => x.Id);
table.ForeignKey(
name: "FK_ConferenceBookingDinners_ConferenceBookings_ConferenceBookingId",
column: x => x.ConferenceBookingId,
principalTable: "ConferenceBookings",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ConferenceBookingDinners_Dinners_DinnercId",
column: x => x.DinnercId,
principalTable: "Dinners",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateTable(
name: "RoomDinners",
columns: table => new
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
RoomId = table.Column(type: "int", nullable: false),
DinnerId = table.Column(type: "int", nullable: false),
Count = table.Column(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_RoomDinners", x => x.Id);
table.ForeignKey(
name: "FK_RoomDinners_Dinners_DinnerId",
column: x => x.DinnerId,
principalTable: "Dinners",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_RoomDinners_Rooms_RoomId",
column: x => x.RoomId,
principalTable: "Rooms",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
});
migrationBuilder.CreateIndex(
name: "IX_ConferenceBookingDinners_ConferenceBookingId",
table: "ConferenceBookingDinners",
column: "ConferenceBookingId");
migrationBuilder.CreateIndex(
name: "IX_ConferenceBookingDinners_DinnercId",
table: "ConferenceBookingDinners",
column: "DinnercId");
migrationBuilder.CreateIndex(
name: "IX_ConferenceBookings_ConferenceId",
table: "ConferenceBookings",
column: "ConferenceId");
migrationBuilder.CreateIndex(
name: "IX_ConferenceBookings_HeadwaiterId",
table: "ConferenceBookings",
column: "HeadwaiterId");
migrationBuilder.CreateIndex(
name: "IX_ConferenceMembers_ConferenceId",
table: "ConferenceMembers",
column: "ConferenceId");
migrationBuilder.CreateIndex(
name: "IX_ConferenceMembers_MemberId",
table: "ConferenceMembers",
column: "MemberId");
migrationBuilder.CreateIndex(
name: "IX_Conferences_OrganiserId",
table: "Conferences",
column: "OrganiserId");
migrationBuilder.CreateIndex(
name: "IX_Dinners_HeadwaiterId",
table: "Dinners",
column: "HeadwaiterId");
migrationBuilder.CreateIndex(
name: "IX_MealPlanMembers_MealPlanId",
table: "MealPlanMembers",
column: "MealPlanId");
migrationBuilder.CreateIndex(
name: "IX_MealPlanMembers_MemberId",
table: "MealPlanMembers",
column: "MemberId");
migrationBuilder.CreateIndex(
name: "IX_MealPlans_OrganiserId",
table: "MealPlans",
column: "OrganiserId");
migrationBuilder.CreateIndex(
name: "IX_Members_OrganiserId",
table: "Members",
column: "OrganiserId");
migrationBuilder.CreateIndex(
name: "IX_RoomDinners_DinnerId",
table: "RoomDinners",
column: "DinnerId");
migrationBuilder.CreateIndex(
name: "IX_RoomDinners_RoomId",
table: "RoomDinners",
column: "RoomId");
migrationBuilder.CreateIndex(
name: "IX_Rooms_HeadwaiterId",
table: "Rooms",
column: "HeadwaiterId");
migrationBuilder.CreateIndex(
name: "IX_Rooms_MealPlanId",
table: "Rooms",
column: "MealPlanId");
}
///
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "ConferenceBookingDinners");
migrationBuilder.DropTable(
name: "ConferenceMembers");
migrationBuilder.DropTable(
name: "MealPlanMembers");
migrationBuilder.DropTable(
name: "RoomDinners");
migrationBuilder.DropTable(
name: "ConferenceBookings");
migrationBuilder.DropTable(
name: "Members");
migrationBuilder.DropTable(
name: "Dinners");
migrationBuilder.DropTable(
name: "Rooms");
migrationBuilder.DropTable(
name: "Conferences");
migrationBuilder.DropTable(
name: "Headwaiters");
migrationBuilder.DropTable(
name: "MealPlans");
migrationBuilder.DropTable(
name: "Organisers");
}
}
}