discourse/db/migrate/20210621190335_migrate_pending_users_reminder_delay_setting.rb
Roman Rizzi 2c918a3161
FEATURE: Staff can receive pending user reminders more frequently. (#13422)
* FEATURE: Staff can receive pending user reminders more frequently.

We now express the "pending_users_reminder_delay"  in minutes instead of hours so staff can have finer control over the delay.

We need to keep in mind that the reminders could still take up to 20 minutes, even when using a lower value. We send them from a scheduled job.

* Migrate to a new site setting for the reminders delay
2021-06-24 10:02:56 -03:00

23 lines
706 B
Ruby

# frozen_string_literal: true
class MigratePendingUsersReminderDelaySetting < ActiveRecord::Migration[6.1]
def up
setting_value = DB.query_single("SELECT value FROM site_settings WHERE name = 'pending_users_reminder_delay'").first
if setting_value.present?
new_value = setting_value.to_i
new_value = new_value > 0 ? new_value * 60 : new_value
DB.exec(<<~SQL, delay: new_value)
INSERT INTO site_settings (name, data_type, value, created_at, updated_at)
VALUES ('pending_users_reminder_delay_minutes', 3, :delay, NOW(), NOW())
SQL
DB.exec("DELETE FROM site_settings WHERE name = 'pending_users_reminder_delay'")
end
end
def down
end
end