fix(monitoring): corriger la résolution de l'ID chapitre après synchronisation MangaDex
synchronizeChapters() retournait des UUID temporaires générés en mémoire. Ces UUID n'étant jamais persistés, le Scraping domain ne pouvait pas retrouver le chapitre (SQLSTATE 22P02 : invalid input syntax for type integer). - ChapterSynchronizationServiceInterface : retourne float[] (numéros) au lieu de string[] (UUID) - MangadxChapterSynchronizationService : retourne getNumber() au lieu de getId() - RefreshMangaChaptersHandler : après save(), retrouve chaque chapitre par manga+numéro via findChapterByMangaIdAndNumber() pour obtenir le vrai PK integer avant de dispatcher ChapterReadyForScraping
This commit is contained in:
parent
214f470e77
commit
969f4569f5
@@ -96,11 +96,11 @@ readonly class MangadxChapterSynchronizationService implements ChapterSynchroniz
|
||||
|
||||
$newChapterIds = [];
|
||||
|
||||
// Sauvegarde uniquement les nouveaux chapitres et collecte leurs IDs
|
||||
// Sauvegarde uniquement les nouveaux chapitres et collecte leurs numéros
|
||||
foreach ($chaptersByNumber as $chapterNumber => $chapter) {
|
||||
if (!isset($existingChapters[(float) $chapterNumber])) {
|
||||
$manga->addChapter($chapter);
|
||||
$newChapterIds[] = $chapter->getId();
|
||||
$newChapterIds[] = $chapter->getNumber();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user