| @@ -0,0 +1,25 @@ | |||||
| 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 | |||||