discourse/db/migrate/20150729150523_migrate_auto_close_posts.rb

29 lines
733 B
Ruby

# 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