From 33a3c4d57d774d98c3836c98ecbd2e1dd5ea84c3 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Wed, 6 Sep 2023 02:46:10 +1000 Subject: Added pointer to current UploadedFile on Media --- Migrations/20230905163953_CurrentUploadedFile.cs | 75 ++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 Migrations/20230905163953_CurrentUploadedFile.cs (limited to 'Migrations/20230905163953_CurrentUploadedFile.cs') diff --git a/Migrations/20230905163953_CurrentUploadedFile.cs b/Migrations/20230905163953_CurrentUploadedFile.cs new file mode 100644 index 0000000..265259e --- /dev/null +++ b/Migrations/20230905163953_CurrentUploadedFile.cs @@ -0,0 +1,75 @@ +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"); + } + } +} -- cgit v1.3