31 lines
850 B
Ruby
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
|