From 77f31e3a7872e740e92d74476070c24f6a73ba02 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Mon, 14 Oct 2024 11:56:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=84=9A=E6=9C=AC=EF=BC=9A=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=88=90=E5=91=98=E7=94=A8=E6=88=B7=E5=88=B0=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E4=BB=93=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/batch_user_add_projects.rake | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 lib/tasks/batch_user_add_projects.rake diff --git a/lib/tasks/batch_user_add_projects.rake b/lib/tasks/batch_user_add_projects.rake new file mode 100644 index 000000000..c2158117b --- /dev/null +++ b/lib/tasks/batch_user_add_projects.rake @@ -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 \ No newline at end of file