summaryrefslogtreecommitdiff
path: root/Migrations/20230905163953_CurrentUploadedFile.cs
diff options
context:
space:
mode:
authorJake Mannens <jake@asger.xyz>2023-09-06 02:46:10 +1000
committerJake Mannens <jake@asger.xyz>2023-09-06 02:46:10 +1000
commit33a3c4d57d774d98c3836c98ecbd2e1dd5ea84c3 (patch)
tree56635cc50f542e3bf06521f24e6c240ec1d68d5a /Migrations/20230905163953_CurrentUploadedFile.cs
parent422a3de38ad473a7aec19c854038a3b2ecf16f1c (diff)
Added pointer to current UploadedFile on Media
Diffstat (limited to 'Migrations/20230905163953_CurrentUploadedFile.cs')
-rw-r--r--Migrations/20230905163953_CurrentUploadedFile.cs75
1 files changed, 75 insertions, 0 deletions
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
+{
+ /// <inheritdoc />
+ public partial class CurrentUploadedFile : Migration
+ {
+ /// <inheritdoc />
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AddColumn<int>(
+ 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<int>(
+ 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);
+ }
+
+ /// <inheritdoc />
+ 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");
+ }
+ }
+}