1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-24 15:49:39 +02:00
Maybe/db/migrate/20250623162207_update_outdated_timezones.rb
Josh Pigford 653decbc0b Fix outdated timezone references
Updates outdated timezone identifiers in the database to their current
equivalents. This resolves ArgumentError exceptions when users have
outdated timezones like "Europe/Kiev" stored in their preferences.

Timezone mappings:
- Europe/Kiev → Europe/Kyiv
- Asia/Calcutta → Asia/Kolkata
- Asia/Katmandu → Asia/Kathmandu
- Asia/Rangoon → Asia/Yangon
- Asia/Saigon → Asia/Ho_Chi_Minh
- Pacific/Ponape → Pacific/Pohnpei
- Pacific/Truk → Pacific/Chuuk

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-23 11:25:03 -05:00

31 lines
No EOL
776 B
Ruby

class UpdateOutdatedTimezones < ActiveRecord::Migration[7.2]
TIMEZONE_MAPPINGS = {
"Europe/Kiev" => "Europe/Kyiv",
"Asia/Calcutta" => "Asia/Kolkata",
"Asia/Katmandu" => "Asia/Kathmandu",
"Asia/Rangoon" => "Asia/Yangon",
"Asia/Saigon" => "Asia/Ho_Chi_Minh",
"Pacific/Ponape" => "Pacific/Pohnpei",
"Pacific/Truk" => "Pacific/Chuuk"
}.freeze
def up
TIMEZONE_MAPPINGS.each do |old_tz, new_tz|
execute <<-SQL
UPDATE families
SET timezone = '#{new_tz}'
WHERE timezone = '#{old_tz}'
SQL
end
end
def down
TIMEZONE_MAPPINGS.each do |old_tz, new_tz|
execute <<-SQL
UPDATE families
SET timezone = '#{old_tz}'
WHERE timezone = '#{new_tz}'
SQL
end
end
end