discourse/db/migrate/20210120125607_rename_english_locale.rb
Gerhard Schlager 3b2f6e129a
FEATURE: Add English (UK) as locale (#11768)
* "English" gets renamed into "English (US)"
* "English (UK)" replaces "English"

@discourse-translator-bot keep_translations_and_approvals
2021-01-20 21:32:22 +01:00

42 lines
838 B
Ruby

# frozen_string_literal: true
class RenameEnglishLocale < ActiveRecord::Migration[6.0]
def up
rename_locale(old: "en", new: "en_GB")
rename_locale(old: "en_US", new: "en")
end
def down
rename_locale(old: "en", new: "en_US")
rename_locale(old: "en_GB", new: "en")
end
private
def rename_locale(old:, new:)
execute <<~SQL
UPDATE users
SET locale = '#{new}'
WHERE locale = '#{old}'
SQL
execute <<~SQL
UPDATE site_settings
SET value = '#{new}'
WHERE name = 'default_locale' AND value = '#{old}'
SQL
execute <<~SQL
UPDATE translation_overrides
SET locale = '#{new}'
WHERE locale = '#{old}'
SQL
execute <<~SQL
UPDATE theme_translation_overrides
SET locale = '#{new}'
WHERE locale = '#{old}'
SQL
end
end