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