# frozen_string_literal: true class MigrateAutoClosePosts < ActiveRecord::Migration[4.2] def up I18n.overrides_disabled do strings = [] %w[days hours lastpost_days lastpost_hours lastpost_minutes].each do |k| I18n .t("topic_statuses.autoclosed_enabled_#{k}") .values .each { |s| strings << s.sub("%{count}", "\\d+") } end execute <<~SQL UPDATE posts SET action_code = 'autoclosed.enabled' , post_type = 3 WHERE post_type = 2 AND (#{strings.map { |s| "raw ~* #{ActiveRecord::Base.connection.quote(s)}" }.join(" OR ")}) SQL end end def down raise ActiveRecord::IrreversibleMigration end end