From 2ff6cd233a7e0848f54f56b7ebd3424464f78b4d Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Wed, 15 Jan 2025 02:02:54 -0800 Subject: [PATCH] Populate recruits column with granblue_ids --- ...20250115094623_populate_weapon_recruits.rb | 30 +++++++++++++++++++ db/data_schema.rb | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 db/data/20250115094623_populate_weapon_recruits.rb diff --git a/db/data/20250115094623_populate_weapon_recruits.rb b/db/data/20250115094623_populate_weapon_recruits.rb new file mode 100644 index 0000000..a75db3a --- /dev/null +++ b/db/data/20250115094623_populate_weapon_recruits.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +class PopulateWeaponRecruits < ActiveRecord::Migration[7.0] + def up + # Get all character mappings and convert to hash properly + results = execute(<<-SQL) + SELECT id, granblue_id + FROM characters + WHERE granblue_id IS NOT NULL + SQL + + character_mapping = {} + results.each do |row| + character_mapping[row['id']] = row['granblue_id'] + end + + # Update weapons table using the mapping + character_mapping.each do |char_id, granblue_id| + execute(<<-SQL) + UPDATE weapons + SET recruits = #{connection.quote(granblue_id)} + WHERE recruits_id = #{connection.quote(char_id)} + SQL + end + end + + def down + execute("UPDATE weapons SET recruits = NULL") + end +end diff --git a/db/data_schema.rb b/db/data_schema.rb index 4a66c96..9bb6340 100644 --- a/db/data_schema.rb +++ b/db/data_schema.rb @@ -1 +1 @@ -DataMigrate::Data.define(version: 20231119051223) +DataMigrate::Data.define(version: 20250115094623)