remove Standard season, remap values to start at 1
This commit is contained in:
parent
df6d811736
commit
d54af86dc1
2 changed files with 44 additions and 1 deletions
43
db/migrate/20251215173625_remap_character_season_values.rb
Normal file
43
db/migrate/20251215173625_remap_character_season_values.rb
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# Remap character season values after removing "Standard" season.
|
||||
# Old values: Standard=1, Valentine=2, Formal=3, Summer=4, Halloween=5, Holiday=6
|
||||
# New values: Valentine=1, Formal=2, Summer=3, Halloween=4, Holiday=5
|
||||
#
|
||||
# Uses negative temporary values to avoid conflicts during remapping.
|
||||
class RemapCharacterSeasonValues < ActiveRecord::Migration[8.0]
|
||||
def up
|
||||
# First, remap all values to negative temporaries to avoid conflicts
|
||||
execute "UPDATE characters SET season = -2 WHERE season = 2" # Valentine -> temp
|
||||
execute "UPDATE characters SET season = -3 WHERE season = 3" # Formal -> temp
|
||||
execute "UPDATE characters SET season = -4 WHERE season = 4" # Summer -> temp
|
||||
execute "UPDATE characters SET season = -5 WHERE season = 5" # Halloween -> temp
|
||||
execute "UPDATE characters SET season = -6 WHERE season = 6" # Holiday -> temp
|
||||
|
||||
# Remove Standard (1 -> NULL)
|
||||
execute "UPDATE characters SET season = NULL WHERE season = 1"
|
||||
|
||||
# Now remap from temporaries to final values
|
||||
execute "UPDATE characters SET season = 1 WHERE season = -2" # Valentine: 2 -> 1
|
||||
execute "UPDATE characters SET season = 2 WHERE season = -3" # Formal: 3 -> 2
|
||||
execute "UPDATE characters SET season = 3 WHERE season = -4" # Summer: 4 -> 3
|
||||
execute "UPDATE characters SET season = 4 WHERE season = -5" # Halloween: 5 -> 4
|
||||
execute "UPDATE characters SET season = 5 WHERE season = -6" # Holiday: 6 -> 5
|
||||
end
|
||||
|
||||
def down
|
||||
# Remap back to original values using negative temporaries
|
||||
execute "UPDATE characters SET season = -1 WHERE season = 1" # Valentine -> temp
|
||||
execute "UPDATE characters SET season = -2 WHERE season = 2" # Formal -> temp
|
||||
execute "UPDATE characters SET season = -3 WHERE season = 3" # Summer -> temp
|
||||
execute "UPDATE characters SET season = -4 WHERE season = 4" # Halloween -> temp
|
||||
execute "UPDATE characters SET season = -5 WHERE season = 5" # Holiday -> temp
|
||||
|
||||
# Remap to original values (Standard cannot be restored from NULL)
|
||||
execute "UPDATE characters SET season = 2 WHERE season = -1" # Valentine: 1 -> 2
|
||||
execute "UPDATE characters SET season = 3 WHERE season = -2" # Formal: 2 -> 3
|
||||
execute "UPDATE characters SET season = 4 WHERE season = -3" # Summer: 3 -> 4
|
||||
execute "UPDATE characters SET season = 5 WHERE season = -4" # Halloween: 4 -> 5
|
||||
execute "UPDATE characters SET season = 6 WHERE season = -5" # Holiday: 5 -> 6
|
||||
end
|
||||
end
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema[8.0].define(version: 2025_12_14_104721) do
|
||||
ActiveRecord::Schema[8.0].define(version: 2025_12_15_173625) do
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "btree_gin"
|
||||
enable_extension "pg_catalog.plpgsql"
|
||||
|
|
|
|||
Loading…
Reference in a new issue