using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace ErsatzTV.Infrastructure.Sqlite.Migrations { /// public partial class Update_SubtitleTitle : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.Sql( @"WITH Match AS ( SELECT s.Id AS SubtitleId, ms.Title AS NewTitle FROM Subtitle AS s JOIN EpisodeMetadata AS em ON em.Id = s.EpisodeMetadataId JOIN MediaVersion AS mv ON mv.EpisodeId = em.EpisodeId JOIN MediaStream AS ms ON ms.MediaVersionId = mv.Id WHERE ms.MediaStreamKind = 3 AND ms.`Index` = s.StreamIndex AND s.Title != ms.Title ) UPDATE Subtitle SET Title = (SELECT NewTitle FROM Match WHERE Match.SubtitleId = Subtitle.Id) WHERE Id IN (SELECT SubtitleId FROM Match); "); } /// protected override void Down(MigrationBuilder migrationBuilder) { } } }