修正はここにあります:
このマイグレーションは期待通りに動作しませんでした:
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")
WHERE duration_minutes != duration は、duration_minutes が NULL の場合(実際はすべてそうでした)機能しません。
はい、Jobs::DeleteReplies ジョブのみが新しい duration_minutes を直接参照していたため、他のタイマーには影響がなかったはずです(私の確認範囲では)。