Add a rake task to generate missing Budget::Phase's and migrate descricptions

This commit is contained in:
Bertocq
2018-01-15 20:42:56 +01:00
parent 313d8d2e11
commit 02d596c872
2 changed files with 23 additions and 5 deletions

View File

@@ -13,4 +13,22 @@ namespace :budgets do
end
end
namespace :phases do
desc "Generates Phases for existing Budgets without them & migrates description_* attributes"
task generate_missing: :environment do
Budget.where.not(id: Budget::Phase.all.pluck(:budget_id).uniq.compact).each do |budget|
Budget::Phase::PHASE_KINDS.each do |phase|
Budget::Phase.create(
budget: budget,
kind: phase,
description: budget.send("description_#{phase}"),
prev_phase: phases&.last,
starts_at: phases&.last&.ends_at || Date.current,
ends_at: (phases&.last&.ends_at || Date.current) + 1.month
)
end
end
end
end
end