Vasilek

Форк
0
/
20220601220748_AddOrderTablesToDb.cs 
78 строк · 3.9 Кб
1
using System;
2
using Microsoft.EntityFrameworkCore.Migrations;
3
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
4

5
#nullable disable
6

7
namespace Vasilek.Services.OrderAPI.Migrations
8
{
9
    public partial class AddOrderTablesToDb : Migration
10
    {
11
        protected override void Up(MigrationBuilder migrationBuilder)
12
        {
13
            migrationBuilder.CreateTable(
14
                name: "OrderHeaders",
15
                columns: table => new
16
                {
17
                    OrderHeaderId = table.Column<int>(type: "integer", nullable: false)
18
                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
19
                    UserId = table.Column<string>(type: "text", nullable: true),
20
                    CouponCode = table.Column<string>(type: "text", nullable: true),
21
                    OrderTotal = table.Column<double>(type: "double precision", nullable: false),
22
                    DiscountTotal = table.Column<double>(type: "double precision", nullable: false),
23
                    FirstName = table.Column<string>(type: "text", nullable: true),
24
                    LastName = table.Column<string>(type: "text", nullable: true),
25
                    PickupDateTime = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
26
                    OrderTime = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
27
                    Phone = table.Column<string>(type: "text", nullable: true),
28
                    Email = table.Column<string>(type: "text", nullable: true),
29
                    CardNumber = table.Column<string>(type: "text", nullable: true),
30
                    CVV = table.Column<string>(type: "text", nullable: true),
31
                    ExpiryMonthYear = table.Column<string>(type: "text", nullable: true),
32
                    CartTotalItems = table.Column<int>(type: "integer", nullable: false),
33
                    PaymentStatus = table.Column<bool>(type: "boolean", nullable: false)
34
                },
35
                constraints: table =>
36
                {
37
                    table.PrimaryKey("PK_OrderHeaders", x => x.OrderHeaderId);
38
                });
39

40
            migrationBuilder.CreateTable(
41
                name: "OrderDetails",
42
                columns: table => new
43
                {
44
                    OrderDetailsId = table.Column<int>(type: "integer", nullable: false)
45
                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
46
                    OrderHeaderId = table.Column<int>(type: "integer", nullable: false),
47
                    ProductId = table.Column<int>(type: "integer", nullable: false),
48
                    Count = table.Column<int>(type: "integer", nullable: false),
49
                    ProductName = table.Column<string>(type: "text", nullable: true),
50
                    Price = table.Column<double>(type: "double precision", nullable: false)
51
                },
52
                constraints: table =>
53
                {
54
                    table.PrimaryKey("PK_OrderDetails", x => x.OrderDetailsId);
55
                    table.ForeignKey(
56
                        name: "FK_OrderDetails_OrderHeaders_OrderHeaderId",
57
                        column: x => x.OrderHeaderId,
58
                        principalTable: "OrderHeaders",
59
                        principalColumn: "OrderHeaderId",
60
                        onDelete: ReferentialAction.Cascade);
61
                });
62

63
            migrationBuilder.CreateIndex(
64
                name: "IX_OrderDetails_OrderHeaderId",
65
                table: "OrderDetails",
66
                column: "OrderHeaderId");
67
        }
68

69
        protected override void Down(MigrationBuilder migrationBuilder)
70
        {
71
            migrationBuilder.DropTable(
72
                name: "OrderDetails");
73

74
            migrationBuilder.DropTable(
75
                name: "OrderHeaders");
76
        }
77
    }
78
}
79

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.