From 6bcbc97566ce7a5b68c57b953aba0a6f6f07a2ae Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Thu, 27 Feb 2025 20:27:43 -0800 Subject: [PATCH] Jedmund/202502 update (#187) * Update weapon series migration This update fixes MigrateWeaponSeries from 20250218 such that it can be run on an empty database without throwing errors. * Add items from late 2025-02 * Yuel (Grand) * Tsukuyomi * Sennen Goji * Nightgaze Gale * Bane of Avidya * Klesha-Cleaning Dharmachakra --- .../20250218023335_migrate_weapon_series.rb | 78 +++++++++---------- db/seed/updates/20250227-characters-023.csv | 3 + db/seed/updates/20250227-weapons-022.csv | 7 ++ 3 files changed, 49 insertions(+), 39 deletions(-) create mode 100644 db/seed/updates/20250227-characters-023.csv create mode 100644 db/seed/updates/20250227-weapons-022.csv diff --git a/db/data/20250218023335_migrate_weapon_series.rb b/db/data/20250218023335_migrate_weapon_series.rb index 5a5a2b6..d02d637 100644 --- a/db/data/20250218023335_migrate_weapon_series.rb +++ b/db/data/20250218023335_migrate_weapon_series.rb @@ -6,119 +6,119 @@ class MigrateWeaponSeries < ActiveRecord::Migration[8.0] puts 'Starting weapon series migration...' puts 'Updating Seraphic Weapons (0 -> 1)...' - Weapon.find_by(series: 0).update!(new_series: 1) + Weapon.where(series: 0).update_all(new_series: 1) puts 'Updating Grand Weapons (1 -> 2)...' - Weapon.find_by(series: 1).update!(new_series: 2) + Weapon.where(series: 1).update_all(new_series: 2) puts 'Updating Dark Opus Weapons (2 -> 3)...' - Weapon.find_by(series: 2).update!(new_series: 3) + Weapon.where(series: 2).update_all(new_series: 3) puts 'Updating Revenant Weapons (4 -> 4)...' - Weapon.find_by(series: 4).update!(new_series: 4) + Weapon.where(series: 4).update_all(new_series: 4) puts 'Updating Primal Weapons (6 -> 5)...' - Weapon.find_by(series: 6).update!(new_series: 5) + Weapon.where(series: 6).update_all(new_series: 5) puts 'Updating Beast Weapons (5, 7 -> 6)...' - Weapon.find_by(series: 5).update!(new_series: 6) - Weapon.find_by(series: 7).update!(new_series: 6) + Weapon.where(series: 5).update_all(new_series: 6) + Weapon.where(series: 7).update_all(new_series: 6) puts 'Updating Regalia Weapons (8 -> 7)...' - Weapon.find_by(series: 8).update!(new_series: 7) + Weapon.where(series: 8).update_all(new_series: 7) puts 'Updating Omega Weapons (9 -> 8)...' - Weapon.find_by(series: 9).update!(new_series: 8) + Weapon.where(series: 9).update_all(new_series: 8) puts 'Updating Olden Primal Weapons (10 -> 9)...' - Weapon.find_by(series: 10).update!(new_series: 9) + Weapon.where(series: 10).update_all(new_series: 9) puts 'Updating Hollowsky Weapons (12 -> 10)...' - Weapon.find_by(series: 12).update!(new_series: 10) + Weapon.where(series: 12).update_all(new_series: 10) puts 'Updating Xeno Weapons (13 -> 11)...' - Weapon.find_by(series: 13).update!(new_series: 11) + Weapon.where(series: 13).update_all(new_series: 11) puts 'Updating Rose Weapons (15 -> 12)...' - Weapon.find_by(series: 15).update!(new_series: 12) + Weapon.where(series: 15).update_all(new_series: 12) puts 'Updating Ultima Weapons (17 -> 13)...' - Weapon.find_by(series: 17).update!(new_series: 13) + Weapon.where(series: 17).update_all(new_series: 13) puts 'Updating Bahamut Weapons (16 -> 14)...' - Weapon.find_by(series: 16).update!(new_series: 14) + Weapon.where(series: 16).update_all(new_series: 14) puts 'Updating Epic Weapons (18 -> 15)...' - Weapon.find_by(series: 18).update!(new_series: 15) + Weapon.where(series: 18).update_all(new_series: 15) puts 'Updating Cosmos Weapons (20 -> 16)...' - Weapon.find_by(series: 20).update!(new_series: 16) + Weapon.where(series: 20).update_all(new_series: 16) puts 'Updating Superlative Weapons (22 -> 17)...' - Weapon.find_by(series: 22).update!(new_series: 17) + Weapon.where(series: 22).update_all(new_series: 17) puts 'Updating Vintage Weapons (23 -> 18)...' - Weapon.find_by(series: 23).update!(new_series: 18) + Weapon.where(series: 23).update_all(new_series: 18) puts 'Updating Class Champion Weapons (24 -> 19)...' - Weapon.find_by(series: 24).update!(new_series: 19) + Weapon.where(series: 24).update_all(new_series: 19) puts 'Updating Sephira Weapons (28 -> 23)...' - Weapon.find_by(series: 28).update!(new_series: 23) + Weapon.where(series: 28).update_all(new_series: 23) puts 'Updating Astral Weapons (14 -> 26)...' - Weapon.find_by(series: 14).update!(new_series: 26) + Weapon.where(series: 14).update_all(new_series: 26) puts 'Updating Draconic Weapons (3 -> 27)...' - Weapon.find_by(series: 3).update!(new_series: 27) + Weapon.where(series: 3).update_all(new_series: 27) puts 'Updating Ancestral Weapons (21 -> 29)...' - Weapon.find_by(series: 21).update!(new_series: 29) + Weapon.where(series: 21).update_all(new_series: 29) puts 'Updating New World Foundation (29 -> 30)...' - Weapon.find_by(series: 29).update!(new_series: 30) + Weapon.where(series: 29).update_all(new_series: 30) puts 'Updating Ennead Weapons (19 -> 31)...' - Weapon.find_by(series: 19).update!(new_series: 31) + Weapon.where(series: 19).update_all(new_series: 31) puts 'Updating Militis Weapons (11 -> 32)...' - Weapon.find_by(series: 11).update!(new_series: 32) + Weapon.where(series: 11).update_all(new_series: 32) puts 'Updating Malice Weapons (26 -> 33)...' - Weapon.find_by(series: 26).update!(new_series: 33) + Weapon.where(series: 26).update_all(new_series: 33) puts 'Updating Menace Weapons (26 -> 34)...' - Weapon.find_by(series: 26).update!(new_series: 34) + Weapon.where(series: 26).update_all(new_series: 34) puts 'Updating Illustrious Weapons (31 -> 35)...' - Weapon.find_by(series: 31).update!(new_series: 35) + Weapon.where(series: 31).update_all(new_series: 35) puts 'Updating Proven Weapons (25 -> 36)...' - Weapon.find_by(series: 25).update!(new_series: 36) + Weapon.where(series: 25).update_all(new_series: 36) puts 'Updating Revans Weapons (30 -> 37)...' - Weapon.find_by(series: 30).update!(new_series: 37) + Weapon.where(series: 30).update_all(new_series: 37) puts 'Updating World Weapons (32 -> 38)...' - Weapon.find_by(series: 32).update!(new_series: 38) + Weapon.where(series: 32).update_all(new_series: 38) puts 'Updating Exo Weapons (33 -> 39)...' - Weapon.find_by(series: 33).update!(new_series: 39) + Weapon.where(series: 33).update_all(new_series: 39) puts 'Updating Draconic Weapons Providence (34 -> 40)...' - Weapon.find_by(series: 34).update!(new_series: 40) + Weapon.where(series: 34).update_all(new_series: 40) puts 'Updating Celestial Weapons (37 -> 41)...' - Weapon.find_by(series: 37).update!(new_series: 41) + Weapon.where(series: 37).update_all(new_series: 41) puts 'Updating Omega Rebirth Weapons (38 -> 42)...' - Weapon.find_by(series: 38).update!(new_series: 42) + Weapon.where(series: 38).update_all(new_series: 42) puts 'Updating Event Weapons (34 -> 98)...' - Weapon.find_by(series: 34).update!(new_series: 98) # Event + Weapon.where(series: 34).update_all(new_series: 98) # Event puts 'Updating Gacha Weapons (36 -> 99)...' - Weapon.find_by(series: 36).update!(new_series: 99) # Gacha + Weapon.where(series: 36).update_all(new_series: 99) # Gacha puts 'Migration completed successfully!' rescue StandardError => e diff --git a/db/seed/updates/20250227-characters-023.csv b/db/seed/updates/20250227-characters-023.csv new file mode 100644 index 0000000..2478a2e --- /dev/null +++ b/db/seed/updates/20250227-characters-023.csv @@ -0,0 +1,3 @@ +name_en,name_jp,granblue_id,rarity,element,proficiency1,proficiency2,gender,race1,race2,flb,min_hp,max_hp,max_hp_flb,min_atk,max_atk,max_atk_flb,base_da,base_ta,ougi_ratio,ougi_ratio_flb,special,ulb,max_hp_ulb,max_atk_ulb,character_id,wiki_en,release_date,flb_date,ulb_date,wiki_ja,gamewith,kamigame,nicknames_en,nicknames_jp +Yuel (Grand),ユエル(リミテッドver),3040580000,3,2,10,8,2,2,,false,265,1375,,1413,7335,,,,,,false,false,,,{3006},Yuel (Grand),2025-02-27,,,ユエル (SSR)リミテッドバージョン,486749,SSRリミテッドユエル,, +Tsukuyomi,ツクヨミ,3040581000,3,5,6,,2,5,,false,335,1175,,1785,6275,,,,,,false,false,,,{3270},Tsukuyomi,2025-02-27,,,ツクヨミ (SSR),486748,SSRツクヨミ,, diff --git a/db/seed/updates/20250227-weapons-022.csv b/db/seed/updates/20250227-weapons-022.csv new file mode 100644 index 0000000..bf58e95 --- /dev/null +++ b/db/seed/updates/20250227-weapons-022.csv @@ -0,0 +1,7 @@ +name_en,name_jp,granblue_id,rarity,element,proficiency,series,flb,ulb,max_level,max_skill_level,min_hp,max_hp,max_hp_flb,max_hp_ulb,min_atk,max_atk,max_atk_flb,max_atk_ulb,extra,ax_type,limit,ax,recruits,max_awakening_level,release_date,flb_date,ulb_date,wiki_en,wiki_ja,gamewith,kamigame,nicknames_en,nicknames_jp,transcendence,transcendence_date, , , , , , , , , , , , , +Sennen Goji,千年護持,1040917100,3,2,10,1,true,false,150,15,29,244,,,519,3577,,,false,,,false,,,2025-02-28,2025-02-28,,Sennen Goji,,486774,千年護持,,,false,,,,,,,,,,,,,, +Nightgaze Gate,夜見之門,1040424200,3,5,6,99,false,false,100,10,46,285,,,369,2163,,,false,,,false,,,2025-02-28,,,Nightgaze Gate,,,夜見之門,,,false,,,,,,,,,,,,,, +Bane of Avidya,無明滅却杵,1040424100,3,6,6,98,false,false,100,10,34,293,,,227,1744,,,false,,,false,,,2025-02-26,,,Bane of Avidya,無明滅却杵,486167,無明滅却杵,,,false,,,,,,,,,,,,,, +" +Klesha-Cleansing Dharmachakra",破魔輪宝,1030609800,2,6,7,98,false,false,75,10,22,136,,,197,1272,,,false,,,false,,,2025-02-26,,," +Klesha-Cleansing Dharmachakra",破魔輪宝,,破魔輪宝,,,false,,,,,,,,,,,,,,