using System; using Microsoft.EntityFrameworkCore.Migrations; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace SVSim.Database.Migrations { /// public partial class AddPackDrawTable : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.AddColumn( name: "IsEnabled", table: "Packs", type: "boolean", nullable: false, defaultValue: false); migrationBuilder.CreateTable( name: "PackDrawCardWeights", columns: table => new { Id = table.Column(type: "bigint", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), PackId = table.Column(type: "integer", nullable: false), Slot = table.Column(type: "integer", nullable: false), Tier = table.Column(type: "integer", nullable: false), CardId = table.Column(type: "bigint", nullable: false), RatePct = table.Column(type: "double precision", nullable: true), IsLeader = table.Column(type: "boolean", nullable: false), IsAltArt = table.Column(type: "boolean", nullable: false), DateCreated = table.Column(type: "timestamp with time zone", nullable: false), DateUpdated = table.Column(type: "timestamp with time zone", nullable: true) }, constraints: table => { table.PrimaryKey("PK_PackDrawCardWeights", x => x.Id); }); migrationBuilder.CreateTable( name: "PackDrawConfigs", columns: table => new { Id = table.Column(type: "integer", nullable: false), AnimationRatePct = table.Column(type: "double precision", nullable: false), HasBonusSlot = table.Column(type: "boolean", nullable: false), SpecialKind = table.Column(type: "text", nullable: true), ShortCode = table.Column(type: "text", nullable: true), DateCreated = table.Column(type: "timestamp with time zone", nullable: false), DateUpdated = table.Column(type: "timestamp with time zone", nullable: true) }, constraints: table => { table.PrimaryKey("PK_PackDrawConfigs", x => x.Id); }); migrationBuilder.CreateTable( name: "PackDrawSlotRates", columns: table => new { Id = table.Column(type: "bigint", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), PackId = table.Column(type: "integer", nullable: false), Slot = table.Column(type: "integer", nullable: false), Tier = table.Column(type: "integer", nullable: false), RatePct = table.Column(type: "double precision", nullable: false), DateCreated = table.Column(type: "timestamp with time zone", nullable: false), DateUpdated = table.Column(type: "timestamp with time zone", nullable: true) }, constraints: table => { table.PrimaryKey("PK_PackDrawSlotRates", x => x.Id); }); migrationBuilder.CreateIndex( name: "IX_PackDrawCardWeights_PackId_Slot_Tier", table: "PackDrawCardWeights", columns: new[] { "PackId", "Slot", "Tier" }); migrationBuilder.CreateIndex( name: "IX_PackDrawSlotRates_PackId_Slot_Tier", table: "PackDrawSlotRates", columns: new[] { "PackId", "Slot", "Tier" }, unique: true); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "PackDrawCardWeights"); migrationBuilder.DropTable( name: "PackDrawConfigs"); migrationBuilder.DropTable( name: "PackDrawSlotRates"); migrationBuilder.DropColumn( name: "IsEnabled", table: "Packs"); } } }