Files
nairobi/lib/tasks/migrations.rake
Javi Martín 9b511edd5b Write task to migrate budget admins and valuators
If we didn't run this task, investments for existing budgets wouldn't
show their administrator/valuators as an option when we're editing them,
leading to data loss.
2019-11-01 17:12:42 +01:00

21 lines
777 B
Ruby

namespace :migrations do
desc "Migrates context of valuation taggings"
task valuation_taggings: :environment do
ApplicationLogger.new.info "Updating valuation taggings context"
Tagging.where(context: "valuation").update_all(context: "valuation_tags")
end
desc "Migrates budget staff"
task budget_admins_and_valuators: :environment do
ApplicationLogger.new.info "Updating budget administrators and valuators"
Budget.find_each do |budget|
investments = budget.investments.with_hidden
budget.update!(
administrator_ids: investments.where.not(administrator: nil).distinct.pluck(:administrator_id),
valuator_ids: Budget::ValuatorAssignment.where(investment: investments).distinct.pluck(:valuator_id)
)
end
end
end