From 4a19d046e4156fae590b5231fa5282af231ab374 Mon Sep 17 00:00:00 2001 From: Jason Dove <1695733+jasongdove@users.noreply.github.com> Date: Mon, 22 Apr 2024 22:40:53 -0500 Subject: [PATCH] fix mysql db migrations --- CHANGELOG.md | 1 + .../20240209170532_Reset_SongMetadataTagLib.cs | 8 ++++++-- .../20240209191908_Reset_SongMetadataBadMigration.cs | 10 +++++++--- ...40210124106_Reset_SongMetadata_ExistingLibraries.cs | 8 ++++++-- .../20240216120800_Reset_LocalLibraryFolders.cs | 4 +++- 5 files changed, 23 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a91fc8371..555d25903 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Fix playback from Jellyfin 10.9 by allowing playlist HTTP HEAD requests - Fix `HLS Segmenter V2` segment duration (previously 10s, now 4s) - Fix `HLS Segmenter V2` error video generation +- Fix MySql database migrations ### Changed - Use ffmpeg 7 in all docker images diff --git a/ErsatzTV.Infrastructure.MySql/Migrations/20240209170532_Reset_SongMetadataTagLib.cs b/ErsatzTV.Infrastructure.MySql/Migrations/20240209170532_Reset_SongMetadataTagLib.cs index b636fbe8a..8c1337c82 100644 --- a/ErsatzTV.Infrastructure.MySql/Migrations/20240209170532_Reset_SongMetadataTagLib.cs +++ b/ErsatzTV.Infrastructure.MySql/Migrations/20240209170532_Reset_SongMetadataTagLib.cs @@ -12,7 +12,9 @@ namespace ErsatzTV.Infrastructure.MySql.Migrations { migrationBuilder.Sql( @"UPDATE LibraryPath SET LastScan = '0001-01-01 00:00:00' WHERE Id IN - (SELECT LP.Id FROM LibraryPath LP INNER JOIN Library L on L.Id = LP.LibraryId WHERE MediaKind = 5)"); + (SELECT A.lpid FROM + (SELECT LP.Id AS lpid FROM LibraryPath LP INNER JOIN Library L on L.Id = LP.LibraryId WHERE MediaKind = 5) + as A)"); migrationBuilder.Sql( @"UPDATE Library SET LastScan = '0001-01-01 00:00:00' WHERE MediaKind = 5"); @@ -22,7 +24,9 @@ namespace ErsatzTV.Infrastructure.MySql.Migrations migrationBuilder.Sql( @"UPDATE LibraryFolder SET Etag = NULL WHERE Id IN - (SELECT LF.Id FROM LibraryFolder LF INNER JOIN LibraryPath LP on LF.LibraryPathId = LP.Id INNER JOIN Library L on LP.LibraryId = L.Id WHERE MediaKind = 5)"); + (SELECT A.lfid FROM + (SELECT LF.Id AS lfid FROM LibraryFolder LF INNER JOIN LibraryPath LP on LF.LibraryPathId = LP.Id INNER JOIN Library L on LP.LibraryId = L.Id WHERE MediaKind = 5) + AS A)"); } /// diff --git a/ErsatzTV.Infrastructure.MySql/Migrations/20240209191908_Reset_SongMetadataBadMigration.cs b/ErsatzTV.Infrastructure.MySql/Migrations/20240209191908_Reset_SongMetadataBadMigration.cs index 174e8e47d..1fee72b1e 100644 --- a/ErsatzTV.Infrastructure.MySql/Migrations/20240209191908_Reset_SongMetadataBadMigration.cs +++ b/ErsatzTV.Infrastructure.MySql/Migrations/20240209191908_Reset_SongMetadataBadMigration.cs @@ -11,10 +11,12 @@ namespace ErsatzTV.Infrastructure.MySql.Migrations protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.Sql(@"UPDATE SongMetadata SET Artists = '[]', AlbumArtists = '[]'"); - + migrationBuilder.Sql( @"UPDATE LibraryPath SET LastScan = '0001-01-01 00:00:00' WHERE Id IN - (SELECT LP.Id FROM LibraryPath LP INNER JOIN Library L on L.Id = LP.LibraryId WHERE MediaKind = 5)"); + (SELECT A.lpid FROM + (SELECT LP.Id AS lpid FROM LibraryPath LP INNER JOIN Library L on L.Id = LP.LibraryId WHERE MediaKind = 5) + AS A)"); migrationBuilder.Sql( @"UPDATE Library SET LastScan = '0001-01-01 00:00:00' WHERE MediaKind = 5"); @@ -24,7 +26,9 @@ namespace ErsatzTV.Infrastructure.MySql.Migrations migrationBuilder.Sql( @"UPDATE LibraryFolder SET Etag = NULL WHERE Id IN - (SELECT LF.Id FROM LibraryFolder LF INNER JOIN LibraryPath LP on LF.LibraryPathId = LP.Id INNER JOIN Library L on LP.LibraryId = L.Id WHERE MediaKind = 5)"); + (SELECT A.lfid FROM + (SELECT LF.Id AS lfid FROM LibraryFolder LF INNER JOIN LibraryPath LP on LF.LibraryPathId = LP.Id INNER JOIN Library L on LP.LibraryId = L.Id WHERE MediaKind = 5) + AS A)"); } /// diff --git a/ErsatzTV.Infrastructure.MySql/Migrations/20240210124106_Reset_SongMetadata_ExistingLibraries.cs b/ErsatzTV.Infrastructure.MySql/Migrations/20240210124106_Reset_SongMetadata_ExistingLibraries.cs index 3d82094b8..e1710b82f 100644 --- a/ErsatzTV.Infrastructure.MySql/Migrations/20240210124106_Reset_SongMetadata_ExistingLibraries.cs +++ b/ErsatzTV.Infrastructure.MySql/Migrations/20240210124106_Reset_SongMetadata_ExistingLibraries.cs @@ -14,14 +14,18 @@ namespace ErsatzTV.Infrastructure.MySql.Migrations migrationBuilder.Sql( @"UPDATE LibraryPath SET LastScan = '0001-01-01 00:00:00' WHERE Id IN - (SELECT LP.Id FROM LibraryPath LP INNER JOIN Library L on L.Id = LP.LibraryId WHERE MediaKind = 5)"); + (SELECT A.lpid FROM + (SELECT LP.Id AS lpid FROM LibraryPath LP INNER JOIN Library L on L.Id = LP.LibraryId WHERE MediaKind = 5) + AS A)"); migrationBuilder.Sql( @"UPDATE Library SET LastScan = '0001-01-01 00:00:00' WHERE MediaKind = 5"); migrationBuilder.Sql( @"UPDATE LibraryFolder SET Etag = NULL WHERE Id IN - (SELECT LF.Id FROM LibraryFolder LF INNER JOIN LibraryPath LP on LF.LibraryPathId = LP.Id INNER JOIN Library L on LP.LibraryId = L.Id WHERE MediaKind = 5)"); + (SELECT A.lfid FROM + (SELECT LF.Id AS lfid FROM LibraryFolder LF INNER JOIN LibraryPath LP on LF.LibraryPathId = LP.Id INNER JOIN Library L on LP.LibraryId = L.Id WHERE MediaKind = 5) + AS A)"); } /// diff --git a/ErsatzTV.Infrastructure.MySql/Migrations/20240216120800_Reset_LocalLibraryFolders.cs b/ErsatzTV.Infrastructure.MySql/Migrations/20240216120800_Reset_LocalLibraryFolders.cs index 1b38af5e4..003b352a5 100644 --- a/ErsatzTV.Infrastructure.MySql/Migrations/20240216120800_Reset_LocalLibraryFolders.cs +++ b/ErsatzTV.Infrastructure.MySql/Migrations/20240216120800_Reset_LocalLibraryFolders.cs @@ -14,7 +14,9 @@ namespace ErsatzTV.Infrastructure.MySql.Migrations migrationBuilder.Sql( @"UPDATE LibraryPath SET LastScan = '0001-01-01 00:00:00' WHERE Id IN - (SELECT LP.Id FROM Library L INNER JOIN LibraryPath LP ON L.Id = LP.LibraryId INNER JOIN LocalMediaSource LMS ON LMS.Id = L.MediaSourceId)"); + (SELECT A.lpid FROM + (SELECT LP.Id AS lpid FROM Library L INNER JOIN LibraryPath LP ON L.Id = LP.LibraryId INNER JOIN LocalMediaSource LMS ON LMS.Id = L.MediaSourceId) + AS A)"); migrationBuilder.Sql( @"UPDATE Library SET LastScan = '0001-01-01 00:00:00' WHERE MediaSourceId IN (SELECT Id FROM LocalMediaSource)");