using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace HyperBooru.Migrations { /// public partial class CurrentUploadedFile : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.AddColumn( name: "CurrentUploadedFileId", table: "Media", type: "integer", nullable: true); migrationBuilder.Sql(@" UPDATE ""Media"" SET ""CurrentUploadedFileId"" = uf.""ObjectId"" FROM (SELECT ""ObjectId"", ""MediaObjectId"" FROM ""UploadedFiles"" GROUP BY ""ObjectId"", ""MediaObjectId"" ORDER BY ""ObjectId"") AS uf WHERE ""Media"".""ObjectId"" = uf.""MediaObjectId"";"); migrationBuilder.AlterColumn( name: "CurrentUploadedFileId", table: "Media", type: "integer", nullable: false); migrationBuilder.CreateIndex( name: "IX_Media_CurrentUploadedFileId", table: "Media", column: "CurrentUploadedFileId", unique: true); migrationBuilder.AddForeignKey( name: "FK_Media_UploadedFiles_CurrentUploadedFileId", table: "Media", column: "CurrentUploadedFileId", principalTable: "UploadedFiles", principalColumn: "ObjectId", onDelete: ReferentialAction.Cascade); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropForeignKey( name: "FK_Media_UploadedFiles_CurrentUploadedFileId", table: "Media"); migrationBuilder.DropIndex( name: "IX_Media_CurrentUploadedFileId", table: "Media"); migrationBuilder.DropColumn( name: "CurrentUploadedFileId", table: "Media"); } } }