Files
subtle-storm/lib/tasks/data_migrations.rake
T
2026-03-21 14:48:27 +02:00

39 lines
1.2 KiB
Ruby

# frozen_string_literal: true
namespace :data_migrations do
desc 'Set initial status for tasks'
task set_initial_status_for_tasks: :environment do
Task.includes(project: :task_statuses).in_batches do |tasks|
projects = Project.where(id: tasks.pluck(:project_id))
statuses = TaskStatus.backlog.where(project: projects).group_by(&:project)
tasks.each do |task|
task.update!(status: statuses[task.project].first)
end
end
end
desc 'Create initial workflows for projects'
task create_initial_workflows: :environment do
Project.find_each do |project|
Projects::CreateDefaults.create_default_workflow(project)
end
end
desc 'Set workflows for statuses'
task set_default_task_status_workflows: :create_initial_workflows do
TaskStatus.includes(project: :workflows).find_each do |ts|
ts.workflow = ts.project.workflows.first
ts.save!
end
end
desc 'Set workflows for tasks'
task set_default_task_workflows: %i[create_initial_workflows set_default_task_status_workflows] do
Task.includes(project: :workflows).find_each do |task|
task.workflow = task.project.workflows.first
task.save!
end
end
end