namespace :batch_user_add_projects do desc "batch add projects" task done: :environment do user_id = ENV['user_id'] puts "user_id=================#{user_id}" next if user_id.blank? project_ids = Project.find_by_sql("SELECT id FROM projects WHERE forked_from_project_id IN (SELECT id FROM projects WHERE user_id IN (SELECT id FROM users WHERE login='OSKYCX'))").pluck(:id) if ENV['project_id'].present? project_ids = [ENV['project_id']] end next if project_ids.blank? puts "project_ids=================#{project_ids}" project_ids.each do |project_id| begin user = User.find_by(id: user_id) next if user.blank? project = Project.find_by(id: project_id) next if project.blank? Projects::AddMemberInteractor.call(project.owner, project, user, "admin") rescue Exception => e puts "batch add projects error: #{user_id}" end end end end