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");
}
}
}