From bddf94c0ab645b51be7c23e270f49d56a6cf47fe Mon Sep 17 00:00:00 2001 From: Dan Ungureanu Date: Thu, 18 Feb 2021 14:18:43 +0200 Subject: [PATCH] FIX: Delete topic timers far in the future (#12125) The migration used to fail because the same duration in minutes was out of the integer range. The '20 years' limit was introduced in e0f0fe5. --- .../20210207232853_fix_topic_timer_duration_minutes.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/db/post_migrate/20210207232853_fix_topic_timer_duration_minutes.rb b/db/post_migrate/20210207232853_fix_topic_timer_duration_minutes.rb index a10aa00fc3d..22ecc3094f5 100644 --- a/db/post_migrate/20210207232853_fix_topic_timer_duration_minutes.rb +++ b/db/post_migrate/20210207232853_fix_topic_timer_duration_minutes.rb @@ -1,6 +1,9 @@ # frozen_string_literal: true class FixTopicTimerDurationMinutes < ActiveRecord::Migration[6.0] def up + DB.exec("DELETE FROM topic_timers WHERE status_type = 7 AND duration > 20 * 365") + DB.exec("DELETE FROM topic_timers WHERE status_type != 7 AND duration > 20 * 365 * 24") + DB.exec("UPDATE topic_timers SET duration_minutes = (duration * 60 * 24) WHERE duration_minutes IS NULL AND status_type = 7 AND duration IS NOT NULL") DB.exec("UPDATE topic_timers SET duration_minutes = (duration * 60) WHERE duration_minutes IS NULL AND status_type != 7 AND duration IS NOT NULL") end