diff options
Diffstat (limited to 'Migrations/20230905163953_CurrentUploadedFile.cs')
| -rw-r--r-- | Migrations/20230905163953_CurrentUploadedFile.cs | 75 |
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"); + } + } +} |
