using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace DinerDataBaseImplement.Migrations { /// public partial class InitMigration : 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), Price = 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: "Snacks", 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) }, constraints: table => { table.PrimaryKey("PK_Snacks", x => x.ID); }); migrationBuilder.CreateTable( name: "MessageInfos", columns: table => new { MessageID = table.Column(type: "nvarchar(450)", nullable: false), ClientID = table.Column(type: "int", nullable: true), SenderName = table.Column(type: "nvarchar(max)", nullable: false), DateDelivery = table.Column(type: "datetime2", nullable: false), Subject = table.Column(type: "nvarchar(max)", nullable: false), Body = table.Column(type: "nvarchar(max)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_MessageInfos", x => x.MessageID); table.ForeignKey( name: "FK_MessageInfos_Clients_ClientID", column: x => x.ClientID, principalTable: "Clients", principalColumn: "ID"); }); migrationBuilder.CreateTable( name: "Orders", columns: table => new { ID = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), SnackID = 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_Snacks_SnackID", column: x => x.SnackID, principalTable: "Snacks", principalColumn: "ID", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "ProductComponents", columns: table => new { ID = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), SnackID = 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_ProductComponents", x => x.ID); table.ForeignKey( name: "FK_ProductComponents_Components_ComponentID", column: x => x.ComponentID, principalTable: "Components", principalColumn: "ID", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_ProductComponents_Snacks_SnackID", column: x => x.SnackID, principalTable: "Snacks", principalColumn: "ID", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_MessageInfos_ClientID", table: "MessageInfos", column: "ClientID"); 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_SnackID", table: "Orders", column: "SnackID"); migrationBuilder.CreateIndex( name: "IX_ProductComponents_ComponentID", table: "ProductComponents", column: "ComponentID"); migrationBuilder.CreateIndex( name: "IX_ProductComponents_SnackID", table: "ProductComponents", column: "SnackID"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "MessageInfos"); migrationBuilder.DropTable( name: "Orders"); migrationBuilder.DropTable( name: "ProductComponents"); migrationBuilder.DropTable( name: "Clients"); migrationBuilder.DropTable( name: "Implementers"); migrationBuilder.DropTable( name: "Components"); migrationBuilder.DropTable( name: "Snacks"); } } }