do not attempt to migrate the db
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Sun, 18 Aug 2024 16:49:24 +0000 (18:49 +0200)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Sun, 18 Aug 2024 16:49:24 +0000 (18:49 +0200)
.vscode/launch.json
music_assistant/server/controllers/music.py

index d665d454d750390e01949fbaf7ac906dfc06ab52..2e874b8d7cb6a126cd2574d498d94b1ff2ed140c 100644 (file)
@@ -10,7 +10,7 @@
       "request": "launch",
       "module": "music_assistant",
       "justMyCode": false,
-      "args": ["--log-level", "debug"],
+      "args": ["--log-level", "info"],
       "env": { "PYTHONDEVMODE": "1" }
     },
     {
index 21f60e183b0f5464f0b1eb425667323e522df2be..df530571f3ade066c700ea8bcb9ae52490272139 100644 (file)
@@ -29,13 +29,7 @@ from music_assistant.common.models.errors import (
     MusicAssistantError,
     ProviderUnavailableError,
 )
-from music_assistant.common.models.media_items import (
-    BrowseFolder,
-    MediaItemImage,
-    MediaItemType,
-    SearchResults,
-    UniqueList,
-)
+from music_assistant.common.models.media_items import BrowseFolder, MediaItemType, SearchResults
 from music_assistant.common.models.provider import SyncTask
 from music_assistant.common.models.streamdetails import LoudnessMeasurement
 from music_assistant.constants import (
@@ -1007,7 +1001,7 @@ class MusicController(CoreController):
             "Migrating database from version %s to %s", prev_version, DB_SCHEMA_VERSION
         )
 
-        if prev_version <= 4:
+        if prev_version <= 5:
             # unhandled schema version
             # we do not try to handle more complex migrations
             self.logger.warning(
@@ -1031,55 +1025,6 @@ class MusicController(CoreController):
             await self.__create_database_tables()
             return
 
-        if prev_version <= 5:
-            # mark all provider mappings as available to recover from the bug
-            # that caused some items to be marked as unavailable
-            await self.database.execute(f"UPDATE {DB_TABLE_PROVIDER_MAPPINGS} SET available = 1")
-            for ctrl in (self.artists, self.albums, self.tracks, self.playlists, self.radio):
-                await self.database.execute(
-                    f"UPDATE {ctrl.db_table} SET provider_mappings = "
-                    "replace (provider_mappings, '\"available\":false', '\"available\":true')"
-                )
-
-        if prev_version <= 5:
-            # migrate images to lookup key
-            unique_provs = ("filesystem", "jellyfin", "plex", "opensubsonic")
-            for ctrl in (self.artists, self.albums, self.tracks, self.playlists, self.radio):
-                async for media_item in ctrl.iter_library_items():
-                    if not media_item.metadata or not media_item.metadata.images:
-                        continue
-                    changes = False
-                    images: UniqueList[MediaItemImage] = UniqueList()
-                    for item_img in media_item.metadata.images:
-                        if "--" not in item_img.provider:
-                            images.append(item_img)
-                            continue
-                        if item_img.provider.startswith(unique_provs):
-                            images.append(item_img)
-                            continue
-                        images.append(
-                            MediaItemImage(
-                                type=item_img.type,
-                                path=item_img.path,
-                                provider=item_img.provider.split("--")[0],
-                                remotely_accessible=item_img.remotely_accessible,
-                            )
-                        )
-                        changes = True
-                    if changes:
-                        media_item.metadata.images = images
-                        try:
-                            await ctrl.update_item_in_library(media_item.item_id, media_item, True)
-                        except Exception as err:
-                            self.logger.warning(
-                                "Error while migrating %s: %s",
-                                media_item.item_id,
-                                str(err),
-                                exc_info=err if self.logger.isEnabledFor(logging.DEBUG) else None,
-                            )
-                            with suppress(MediaNotFoundError):
-                                await ctrl.remove_item_from_library(media_item.item_id)
-
         # save changes
         await self.database.commit()