hensei-api/db/data/20251203205953_populate_artifacts.rb

31 lines
850 B
Ruby

# frozen_string_literal: true
class PopulateArtifacts < ActiveRecord::Migration[8.0]
def up
require 'csv'
csv_path = Rails.root.join('lib', 'seeds', 'artifacts.csv')
csv_text = File.read(csv_path)
csv = CSV.parse(csv_text, headers: true, encoding: 'UTF-8')
puts 'Creating artifact records...'
csv.each do |row|
artifact = Artifact.find_or_initialize_by(granblue_id: row['granblue_id'])
artifact.assign_attributes(
name_en: row['name_en'],
name_jp: row['name_jp'],
proficiency: row['proficiency'].presence,
rarity: row['rarity'],
release_date: row['release_date']
)
artifact.save!
puts " #{artifact.granblue_id}: #{artifact.name_en}"
end
puts "\nCreated #{Artifact.count} artifact records"
end
def down
Artifact.delete_all
end
end