notebook/lib/tasks/data_migrations.rake

35 lines
1.1 KiB
Ruby

namespace :data_migrations do
desc "Create a race for each user, for each of their characters with a `race` value"
task create_races_from_character_races: :environment do
User.all.each do |user|
puts "Migrating user #{user.email.split('@').first}..."
user.characters.where.not(race: "").each do |character|
race = character.race
puts "\tCreating race #{race}"
new_race = user.races.where(name: race).first_or_create
character.races << new_race
end
end
puts " All done now!"
end
desc "Create a default 'English' language for all users"
task create_english_language_for_all_users: :environment do
User.all.each do |user|
puts "Adding language to #{user.email.split('@').first}"
user.languages.create(name: 'English')
end
end
desc "Create a default 'Human' race for all users"
task create_human_race_for_all_users: :environment do
User.all.each do |user|
puts "Adding human race to #{user.email.split('@').first}"
user.races.where(name: 'Human').first_or_create
end
end
end