using System; using System.Collections.Generic; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Metadata; namespace Infrastructure.Data.Migrations { public partial class InitialModel : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateSequence( name: "catalog_brand_hilo", incrementBy: 10); migrationBuilder.CreateSequence( name: "catalog_hilo", incrementBy: 10); migrationBuilder.CreateSequence( name: "catalog_type_hilo", incrementBy: 10); migrationBuilder.CreateTable( name: "Baskets", columns: table => new { Id = table.Column(nullable: false) .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), BuyerId = table.Column(nullable: true) }, constraints: table => { table.PrimaryKey("PK_Baskets", x => x.Id); }); migrationBuilder.CreateTable( name: "CatalogBrand", columns: table => new { Id = table.Column(nullable: false), Brand = table.Column(maxLength: 100, nullable: false) }, constraints: table => { table.PrimaryKey("PK_CatalogBrand", x => x.Id); }); migrationBuilder.CreateTable( name: "CatalogType", columns: table => new { Id = table.Column(nullable: false), Type = table.Column(maxLength: 100, nullable: false) }, constraints: table => { table.PrimaryKey("PK_CatalogType", x => x.Id); }); migrationBuilder.CreateTable( name: "BasketItem", columns: table => new { Id = table.Column(nullable: false) .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), BasketId = table.Column(nullable: true), CatalogItemId = table.Column(nullable: false), Quantity = table.Column(nullable: false), UnitPrice = table.Column(nullable: false) }, constraints: table => { table.PrimaryKey("PK_BasketItem", x => x.Id); table.ForeignKey( name: "FK_BasketItem_Baskets_BasketId", column: x => x.BasketId, principalTable: "Baskets", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( name: "Catalog", columns: table => new { Id = table.Column(nullable: false), CatalogBrandId = table.Column(nullable: false), CatalogTypeId = table.Column(nullable: false), Description = table.Column(nullable: true), Name = table.Column(maxLength: 50, nullable: false), PictureUri = table.Column(nullable: true), Price = table.Column(nullable: false) }, constraints: table => { table.PrimaryKey("PK_Catalog", x => x.Id); table.ForeignKey( name: "FK_Catalog_CatalogBrand_CatalogBrandId", column: x => x.CatalogBrandId, principalTable: "CatalogBrand", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_Catalog_CatalogType_CatalogTypeId", column: x => x.CatalogTypeId, principalTable: "CatalogType", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_BasketItem_BasketId", table: "BasketItem", column: "BasketId"); migrationBuilder.CreateIndex( name: "IX_Catalog_CatalogBrandId", table: "Catalog", column: "CatalogBrandId"); migrationBuilder.CreateIndex( name: "IX_Catalog_CatalogTypeId", table: "Catalog", column: "CatalogTypeId"); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "BasketItem"); migrationBuilder.DropTable( name: "Catalog"); migrationBuilder.DropTable( name: "Baskets"); migrationBuilder.DropTable( name: "CatalogBrand"); migrationBuilder.DropTable( name: "CatalogType"); migrationBuilder.DropSequence( name: "catalog_brand_hilo"); migrationBuilder.DropSequence( name: "catalog_hilo"); migrationBuilder.DropSequence( name: "catalog_type_hilo"); } } }