using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace Webshop.Infrastructure.Migrations { /// public partial class checkoutcart : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "Carts", columns: table => new { Id = table.Column(type: "uuid", nullable: false), UserId = table.Column(type: "text", nullable: true), SessionId = table.Column(type: "text", nullable: true), LastModified = table.Column(type: "timestamp with time zone", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Carts", x => x.Id); }); migrationBuilder.CreateTable( name: "CartItems", columns: table => new { Id = table.Column(type: "uuid", nullable: false), CartId = table.Column(type: "uuid", nullable: false), ProductId = table.Column(type: "uuid", nullable: false), ProductVariantId = table.Column(type: "uuid", nullable: true), Quantity = table.Column(type: "integer", nullable: false) }, constraints: table => { table.PrimaryKey("PK_CartItems", x => x.Id); table.ForeignKey( name: "FK_CartItems_Carts_CartId", column: x => x.CartId, principalTable: "Carts", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_CartItems_Products_ProductId", column: x => x.ProductId, principalTable: "Products", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_CartItems_CartId", table: "CartItems", column: "CartId"); migrationBuilder.CreateIndex( name: "IX_CartItems_ProductId", table: "CartItems", column: "ProductId"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "CartItems"); migrationBuilder.DropTable( name: "Carts"); } } }