discourse/db/post_migrate/20220202223955_migrate_sele...

32 lines
925 B
Ruby

# frozen_string_literal: true
class MigrateSelectableAvatarsEnabled < ActiveRecord::Migration[6.1]
def up
execute <<~SQL
UPDATE site_settings AS s
SET value =
CASE WHEN t.value = 't' THEN 'no_one'
ELSE 'disabled'
END,
data_type = #{SiteSettings::TypeSupervisor.types[:enum]},
name = 'selectable_avatars_mode'
FROM site_settings t
WHERE s.id = t.id AND s.name = 'selectable_avatars_enabled'
SQL
end
def down
execute <<~SQL
UPDATE site_settings AS s
SET value =
CASE WHEN t.value IN ('everyone', 'no_one', 'staff', 'tl1','tl2', 'tl3', 'tl4') THEN 't'
ELSE 'f'
END,
data_type = #{SiteSettings::TypeSupervisor.types[:bool]},
name = 'selectable_avatars_enabled'
FROM site_settings t
WHERE s.id = t.id AND s.name = 'selectable_avatars_mode'
SQL
end
end