Vasilek
78 строк · 3.9 Кб
1using System;2using Microsoft.EntityFrameworkCore.Migrations;3using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;4
5#nullable disable6
7namespace Vasilek.Services.OrderAPI.Migrations8{
9public partial class AddOrderTablesToDb : Migration10{11protected override void Up(MigrationBuilder migrationBuilder)12{13migrationBuilder.CreateTable(14name: "OrderHeaders",15columns: table => new16{17OrderHeaderId = table.Column<int>(type: "integer", nullable: false)18.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),19UserId = table.Column<string>(type: "text", nullable: true),20CouponCode = table.Column<string>(type: "text", nullable: true),21OrderTotal = table.Column<double>(type: "double precision", nullable: false),22DiscountTotal = table.Column<double>(type: "double precision", nullable: false),23FirstName = table.Column<string>(type: "text", nullable: true),24LastName = table.Column<string>(type: "text", nullable: true),25PickupDateTime = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),26OrderTime = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),27Phone = table.Column<string>(type: "text", nullable: true),28Email = table.Column<string>(type: "text", nullable: true),29CardNumber = table.Column<string>(type: "text", nullable: true),30CVV = table.Column<string>(type: "text", nullable: true),31ExpiryMonthYear = table.Column<string>(type: "text", nullable: true),32CartTotalItems = table.Column<int>(type: "integer", nullable: false),33PaymentStatus = table.Column<bool>(type: "boolean", nullable: false)34},35constraints: table =>36{37table.PrimaryKey("PK_OrderHeaders", x => x.OrderHeaderId);38});39
40migrationBuilder.CreateTable(41name: "OrderDetails",42columns: table => new43{44OrderDetailsId = table.Column<int>(type: "integer", nullable: false)45.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),46OrderHeaderId = table.Column<int>(type: "integer", nullable: false),47ProductId = table.Column<int>(type: "integer", nullable: false),48Count = table.Column<int>(type: "integer", nullable: false),49ProductName = table.Column<string>(type: "text", nullable: true),50Price = table.Column<double>(type: "double precision", nullable: false)51},52constraints: table =>53{54table.PrimaryKey("PK_OrderDetails", x => x.OrderDetailsId);55table.ForeignKey(56name: "FK_OrderDetails_OrderHeaders_OrderHeaderId",57column: x => x.OrderHeaderId,58principalTable: "OrderHeaders",59principalColumn: "OrderHeaderId",60onDelete: ReferentialAction.Cascade);61});62
63migrationBuilder.CreateIndex(64name: "IX_OrderDetails_OrderHeaderId",65table: "OrderDetails",66column: "OrderHeaderId");67}68
69protected override void Down(MigrationBuilder migrationBuilder)70{71migrationBuilder.DropTable(72name: "OrderDetails");73
74migrationBuilder.DropTable(75name: "OrderHeaders");76}77}78}
79