discourse/db/migrate/20191120015344_add_timezone_to_user_options.rb
Martin Brennan afb5533581
FEATURE: Add timezone to core user_options (#8380)
* Add timezone to user_options table

* Also migrate existing timezone values from UserCustomField,
  which is where the discourse-calendar plugin is storing them

* Allow user to change their core timezone from Profile

* Auto guess & set timezone on login & invite accept & signup

* Serialize user_options.timezone for group members. this is so discourse-group-timezones can access the core user timezone, as it is being removed in discourse-calendar.

* Annotate user_option with timezone

* Validate timezone values
2019-11-25 10:49:27 +10:00

20 lines
439 B
Ruby

# frozen_string_literal: true
class AddTimezoneToUserOptions < ActiveRecord::Migration[6.0]
def up
add_column :user_options, :timezone, :string
execute(
<<-SQL
UPDATE user_options
SET timezone = ucf.value
FROM user_custom_fields AS ucf
WHERE ucf.user_id = user_options.user_id AND ucf.name = 'timezone'
SQL
)
end
def down
remove_column :user_options, :timezone
end
end