La correction est ici :
Cette migration n’a pas fonctionné comme prévu :
DB.exec("UPDATE topic_timers SET duration_minutes = (duration * 60 * 24) WHERE duration_minutes != duration AND status_type = 7 AND duration IS NOT NULL")
DB.exec("UPDATE topic_timers SET duration_minutes = (duration * 60) WHERE duration_minutes != duration AND status_type != 7 AND duration IS NOT NULL")
La condition WHERE duration_minutes != duration ne fonctionne pas si duration_minutes est NULL, ce qui était le cas pour tous les enregistrements sontétaient.
Oui, seul le job Jobs::DeleteReplies référençait directement le nouveau champ duration_minutes, donc les autres minuteurs auraient dû être unaffected (d’après ce que je peux voir).