using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace BlueLaminate.EFCore.Migrations { /// public partial class AddSkinInstanceDupeTrackingModelB : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.DropForeignKey( name: "fk_skin_instances_skin_conditions_condition_id", schema: "skintracker", table: "skin_instances"); migrationBuilder.DropIndex( name: "ix_skin_instances_float_value", schema: "skintracker", table: "skin_instances"); migrationBuilder.DropIndex( name: "ix_skin_instances_paint_seed", schema: "skintracker", table: "skin_instances"); migrationBuilder.DropIndex( name: "ix_skin_instances_skin_id", schema: "skintracker", table: "skin_instances"); migrationBuilder.AlterColumn( name: "float_value", schema: "skintracker", table: "skin_instances", type: "numeric(20,18)", nullable: false, oldClrType: typeof(decimal), oldType: "numeric(10,9)"); migrationBuilder.AlterColumn( name: "condition_id", schema: "skintracker", table: "skin_instances", type: "integer", nullable: true, oldClrType: typeof(int), oldType: "integer"); migrationBuilder.AddColumn( name: "dupe_first_seen_at", schema: "skintracker", table: "skin_instances", type: "timestamp with time zone", nullable: true); migrationBuilder.AddColumn( name: "last_seen_at", schema: "skintracker", table: "skin_instances", type: "timestamp with time zone", nullable: false, defaultValue: new DateTimeOffset(new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 0, 0, 0, 0))); migrationBuilder.AddColumn( name: "suspected_dupe", schema: "skintracker", table: "skin_instances", type: "boolean", nullable: false, defaultValue: false); migrationBuilder.AlterColumn( name: "float_value", schema: "skintracker", table: "listings", type: "numeric(20,18)", nullable: false, oldClrType: typeof(decimal), oldType: "numeric(10,9)"); migrationBuilder.AddColumn( name: "asset_id", schema: "skintracker", table: "listings", type: "text", nullable: true); migrationBuilder.AddColumn( name: "skin_instance_id", schema: "skintracker", table: "listings", type: "integer", nullable: true); migrationBuilder.CreateIndex( name: "ix_skin_instances_skin_id_float_value_paint_seed_stat_trak_sou", schema: "skintracker", table: "skin_instances", columns: new[] { "skin_id", "float_value", "paint_seed", "stat_trak", "souvenir" }); migrationBuilder.CreateIndex( name: "ix_skin_instances_suspected_dupe", schema: "skintracker", table: "skin_instances", column: "suspected_dupe"); migrationBuilder.CreateIndex( name: "ix_listings_asset_id", schema: "skintracker", table: "listings", column: "asset_id"); migrationBuilder.CreateIndex( name: "ix_listings_skin_instance_id", schema: "skintracker", table: "listings", column: "skin_instance_id"); migrationBuilder.AddForeignKey( name: "fk_listings_skin_instances_skin_instance_id", schema: "skintracker", table: "listings", column: "skin_instance_id", principalSchema: "skintracker", principalTable: "skin_instances", principalColumn: "id", onDelete: ReferentialAction.SetNull); migrationBuilder.AddForeignKey( name: "fk_skin_instances_skin_conditions_condition_id", schema: "skintracker", table: "skin_instances", column: "condition_id", principalSchema: "skintracker", principalTable: "skin_conditions", principalColumn: "id", onDelete: ReferentialAction.SetNull); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropForeignKey( name: "fk_listings_skin_instances_skin_instance_id", schema: "skintracker", table: "listings"); migrationBuilder.DropForeignKey( name: "fk_skin_instances_skin_conditions_condition_id", schema: "skintracker", table: "skin_instances"); migrationBuilder.DropIndex( name: "ix_skin_instances_skin_id_float_value_paint_seed_stat_trak_sou", schema: "skintracker", table: "skin_instances"); migrationBuilder.DropIndex( name: "ix_skin_instances_suspected_dupe", schema: "skintracker", table: "skin_instances"); migrationBuilder.DropIndex( name: "ix_listings_asset_id", schema: "skintracker", table: "listings"); migrationBuilder.DropIndex( name: "ix_listings_skin_instance_id", schema: "skintracker", table: "listings"); migrationBuilder.DropColumn( name: "dupe_first_seen_at", schema: "skintracker", table: "skin_instances"); migrationBuilder.DropColumn( name: "last_seen_at", schema: "skintracker", table: "skin_instances"); migrationBuilder.DropColumn( name: "suspected_dupe", schema: "skintracker", table: "skin_instances"); migrationBuilder.DropColumn( name: "asset_id", schema: "skintracker", table: "listings"); migrationBuilder.DropColumn( name: "skin_instance_id", schema: "skintracker", table: "listings"); migrationBuilder.AlterColumn( name: "float_value", schema: "skintracker", table: "skin_instances", type: "numeric(10,9)", nullable: false, oldClrType: typeof(decimal), oldType: "numeric(20,18)"); migrationBuilder.AlterColumn( name: "condition_id", schema: "skintracker", table: "skin_instances", type: "integer", nullable: false, defaultValue: 0, oldClrType: typeof(int), oldType: "integer", oldNullable: true); migrationBuilder.AlterColumn( name: "float_value", schema: "skintracker", table: "listings", type: "numeric(10,9)", nullable: false, oldClrType: typeof(decimal), oldType: "numeric(20,18)"); migrationBuilder.CreateIndex( name: "ix_skin_instances_float_value", schema: "skintracker", table: "skin_instances", column: "float_value"); migrationBuilder.CreateIndex( name: "ix_skin_instances_paint_seed", schema: "skintracker", table: "skin_instances", column: "paint_seed"); migrationBuilder.CreateIndex( name: "ix_skin_instances_skin_id", schema: "skintracker", table: "skin_instances", column: "skin_id"); migrationBuilder.AddForeignKey( name: "fk_skin_instances_skin_conditions_condition_id", schema: "skintracker", table: "skin_instances", column: "condition_id", principalSchema: "skintracker", principalTable: "skin_conditions", principalColumn: "id", onDelete: ReferentialAction.Restrict); } } }