fix(folder_rename_service): use get_by_folder instead of get_by_key when looking up by folder name
Update_database_paths and duplicate folder cleanup were using get_by_key() (provider key lookup) instead of get_by_folder() when operating on folder names. This caused orphaned DB records when removing duplicate folders like 'Hells Paradise' that mapped to an already-existing 'Hell\'s Paradise (2023)'.
This commit is contained in:
@@ -403,7 +403,7 @@ async def _update_database_paths(
|
||||
|
||||
async with get_db_session() as db:
|
||||
# 1. Update AnimeSeries.folder
|
||||
series = await AnimeSeriesService.get_by_key(db, old_folder)
|
||||
series = await AnimeSeriesService.get_by_folder(db, old_folder)
|
||||
if series is None:
|
||||
# Fallback: try to find by folder name
|
||||
all_series = await AnimeSeriesService.get_all(db)
|
||||
@@ -615,7 +615,7 @@ async def validate_and_rename_series_folders(dry_run: bool = False) -> Dict[str,
|
||||
|
||||
# Delete source DB record (cascades to episodes and download items)
|
||||
async with get_db_session() as db:
|
||||
source_series = await AnimeSeriesService.get_by_key(db, current_name)
|
||||
source_series = await AnimeSeriesService.get_by_folder(db, current_name)
|
||||
if source_series is None:
|
||||
# Fallback: find by folder name
|
||||
all_series = await AnimeSeriesService.get_all(db)
|
||||
|
||||
Reference in New Issue
Block a user