From 4afecb40dba58f242517b718384dd8fdfbbea97e Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 10:15:07 +0800 Subject: [PATCH 01/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E9=87=8D=E5=A4=8D=E6=95=B0=E6=8D=AE=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/queries/projects/list_query.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/queries/projects/list_query.rb b/app/queries/projects/list_query.rb index f43aa1474..27efb6835 100644 --- a/app/queries/projects/list_query.rb +++ b/app/queries/projects/list_query.rb @@ -16,11 +16,12 @@ class Projects::ListQuery < ApplicationQuery # else # projects = Project.visible # end - projects = Project.no_anomory_projects.visible + projects = Project.visible scope = projects.includes(:project_category, :project_language, :repository, owner: :user_extension).like(params[:search]) .with_project_type(params[:project_type]) .with_project_category(params[:category_id]) - .with_project_language(params[:language_id]).distinct + .with_project_language(params[:language_id]) + scope = scope.no_anomory_projects.distinct sort = params[:sort_by] || "updated_on" sort_direction = params[:sort_direction] || "desc" From f8fd272eac74088b14ad8d69ada86a6d516be41d Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 10:54:04 +0800 Subject: [PATCH 02/26] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E7=9A=84=E7=BB=93=E6=9E=9C=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 2 ++ app/views/projects/index.json.jbuilder | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 618c30571..d54b224b7 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -11,8 +11,10 @@ class ProjectsController < ApplicationController scope = Projects::ListQuery.call(params.merge(is_admin: is_admin, user_id: current_user.try(:id))) @total_count = scope.size + Rails.logger.info("########_________scope_ids_________________#########{scope.pluck(:id)}") @projects = paginate(scope) + # @projects = scope.page(params[:page]).limit(params[:limit] || 15) end def create diff --git a/app/views/projects/index.json.jbuilder b/app/views/projects/index.json.jbuilder index 13de5d2f9..587abee89 100644 --- a/app/views/projects/index.json.jbuilder +++ b/app/views/projects/index.json.jbuilder @@ -1,6 +1,7 @@ json.total_count @total_count json.projects do - json.array! @projects do |project| + json.array! @projects.each do |project| + Rails.logger.info("#######_______project.id________########{project.id}") json.partial! 'project', project: project json.author do json.name project&.owner&.login From 6b3794b57ba579ffb9eee8235391ce4e77674268 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 10:56:59 +0800 Subject: [PATCH 03/26] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 4 +++- app/views/projects/index.json.jbuilder | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index d54b224b7..e0c0c8f4f 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -11,9 +11,11 @@ class ProjectsController < ApplicationController scope = Projects::ListQuery.call(params.merge(is_admin: is_admin, user_id: current_user.try(:id))) @total_count = scope.size + projects = paginate(scope) Rails.logger.info("########_________scope_ids_________________#########{scope.pluck(:id)}") + Rails.logger.info("########_________projects_ids_________________#########{projects.pluck(:id)}") - @projects = paginate(scope) + @projects =projects # @projects = scope.page(params[:page]).limit(params[:limit] || 15) end diff --git a/app/views/projects/index.json.jbuilder b/app/views/projects/index.json.jbuilder index 587abee89..13de5d2f9 100644 --- a/app/views/projects/index.json.jbuilder +++ b/app/views/projects/index.json.jbuilder @@ -1,7 +1,6 @@ json.total_count @total_count json.projects do - json.array! @projects.each do |project| - Rails.logger.info("#######_______project.id________########{project.id}") + json.array! @projects do |project| json.partial! 'project', project: project json.author do json.name project&.owner&.login From c73f501558fa3468f67ee67f46d9985cdf47b70d Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 11:03:00 +0800 Subject: [PATCH 04/26] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E5=88=86=E9=A1=B5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 1 - app/views/projects/index.json.jbuilder | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index e0c0c8f4f..8df845797 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -16,7 +16,6 @@ class ProjectsController < ApplicationController Rails.logger.info("########_________projects_ids_________________#########{projects.pluck(:id)}") @projects =projects - # @projects = scope.page(params[:page]).limit(params[:limit] || 15) end def create diff --git a/app/views/projects/index.json.jbuilder b/app/views/projects/index.json.jbuilder index 13de5d2f9..3dfdf1add 100644 --- a/app/views/projects/index.json.jbuilder +++ b/app/views/projects/index.json.jbuilder @@ -1,6 +1,7 @@ json.total_count @total_count json.projects do - json.array! @projects do |project| + Rails.logger.info("########__________@projects________############{@projects}") + json.array! @projects.each do |project| json.partial! 'project', project: project json.author do json.name project&.owner&.login From f6475c8452739011d6df7eae3a1200ff0b1a8a7f Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 11:13:50 +0800 Subject: [PATCH 05/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E7=9A=84=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 5 +---- app/views/projects/index.json.jbuilder | 9 ++++----- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 8df845797..618c30571 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -11,11 +11,8 @@ class ProjectsController < ApplicationController scope = Projects::ListQuery.call(params.merge(is_admin: is_admin, user_id: current_user.try(:id))) @total_count = scope.size - projects = paginate(scope) - Rails.logger.info("########_________scope_ids_________________#########{scope.pluck(:id)}") - Rails.logger.info("########_________projects_ids_________________#########{projects.pluck(:id)}") - @projects =projects + @projects = paginate(scope) end def create diff --git a/app/views/projects/index.json.jbuilder b/app/views/projects/index.json.jbuilder index 3dfdf1add..640ac11f4 100644 --- a/app/views/projects/index.json.jbuilder +++ b/app/views/projects/index.json.jbuilder @@ -1,12 +1,11 @@ json.total_count @total_count json.projects do - Rails.logger.info("########__________@projects________############{@projects}") - json.array! @projects.each do |project| + json.array! @projects.to_a do |project| json.partial! 'project', project: project json.author do - json.name project&.owner&.login - json.login project&.owner&.login - json.image_url url_to_avatar(project&.owner) + json.name project.owner.login + json.login project.owner.login + json.image_url url_to_avatar(project.owner) end json.category do if project.project_category.blank? From 6cb7a3113d4cfe7aa60c0dcb4dbb1294f5661a3b Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 11:14:46 +0800 Subject: [PATCH 06/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=9A=84=E6=98=BE=E7=A4=BA=E7=94=A8=E6=88=B7=E7=9A=84=E5=90=8D?= =?UTF-8?q?=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/projects/index.json.jbuilder | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/projects/index.json.jbuilder b/app/views/projects/index.json.jbuilder index 640ac11f4..b4e150314 100644 --- a/app/views/projects/index.json.jbuilder +++ b/app/views/projects/index.json.jbuilder @@ -3,7 +3,7 @@ json.projects do json.array! @projects.to_a do |project| json.partial! 'project', project: project json.author do - json.name project.owner.login + json.name project.owner.try(:show_real_name) json.login project.owner.login json.image_url url_to_avatar(project.owner) end From 9101266f01b938caf15b6773fd630335459957d0 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 11:26:31 +0800 Subject: [PATCH 07/26] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/projects/index.json.jbuilder | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/views/projects/index.json.jbuilder b/app/views/projects/index.json.jbuilder index b4e150314..f286dcc5b 100644 --- a/app/views/projects/index.json.jbuilder +++ b/app/views/projects/index.json.jbuilder @@ -1,7 +1,19 @@ json.total_count @total_count json.projects do json.array! @projects.to_a do |project| - json.partial! 'project', project: project + json.id project.id + json.identifier project.identifier + json.name project.name + json.description Nokogiri::HTML(project.description).text + json.visits project.visits + json.praises_count project.praises_count + json.forked_count project.forked_count + json.is_public project.is_public + json.mirror_url project.repository&.mirror_url + json.last_update_time render_unix_time(project.updated_on) + json.time_ago time_from_now(project.updated_on) + json.forked_from_project_id project.forked_from_project_id + # json.partial! 'project', project: project json.author do json.name project.owner.try(:show_real_name) json.login project.owner.login From 7721a701203d4366f83cb0f2a0d31dfd9842dd1e Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 11:35:06 +0800 Subject: [PATCH 08/26] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/projects/index.json.jbuilder | 53 ++++++++++---------------- 1 file changed, 21 insertions(+), 32 deletions(-) diff --git a/app/views/projects/index.json.jbuilder b/app/views/projects/index.json.jbuilder index f286dcc5b..006abab07 100644 --- a/app/views/projects/index.json.jbuilder +++ b/app/views/projects/index.json.jbuilder @@ -2,38 +2,27 @@ json.total_count @total_count json.projects do json.array! @projects.to_a do |project| json.id project.id - json.identifier project.identifier - json.name project.name - json.description Nokogiri::HTML(project.description).text - json.visits project.visits - json.praises_count project.praises_count - json.forked_count project.forked_count - json.is_public project.is_public - json.mirror_url project.repository&.mirror_url - json.last_update_time render_unix_time(project.updated_on) - json.time_ago time_from_now(project.updated_on) - json.forked_from_project_id project.forked_from_project_id # json.partial! 'project', project: project - json.author do - json.name project.owner.try(:show_real_name) - json.login project.owner.login - json.image_url url_to_avatar(project.owner) - end - json.category do - if project.project_category.blank? - json.nil! - else - json.id project.project_category.id - json.name project.project_category.name - end - end - json.language do - if project.project_language.blank? - json.nil! - else - json.id project.project_language.id - json.name project.project_language.name - end - end + # json.author do + # json.name project.owner.try(:show_real_name) + # json.login project.owner.login + # json.image_url url_to_avatar(project.owner) + # end + # json.category do + # if project.project_category.blank? + # json.nil! + # else + # json.id project.project_category.id + # json.name project.project_category.name + # end + # end + # json.language do + # if project.project_language.blank? + # json.nil! + # else + # json.id project.project_language.id + # json.name project.project_language.name + # end + # end end end From d3fd5a6316d503e4ee26e75bbfed99f5d55396d0 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 11:36:23 +0800 Subject: [PATCH 09/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/projects/index.json.jbuilder | 46 +++++++++++++------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/app/views/projects/index.json.jbuilder b/app/views/projects/index.json.jbuilder index 006abab07..6c9817c92 100644 --- a/app/views/projects/index.json.jbuilder +++ b/app/views/projects/index.json.jbuilder @@ -1,28 +1,28 @@ json.total_count @total_count json.projects do + json.all_projects @projects.as_json json.array! @projects.to_a do |project| - json.id project.id - # json.partial! 'project', project: project - # json.author do - # json.name project.owner.try(:show_real_name) - # json.login project.owner.login - # json.image_url url_to_avatar(project.owner) - # end - # json.category do - # if project.project_category.blank? - # json.nil! - # else - # json.id project.project_category.id - # json.name project.project_category.name - # end - # end - # json.language do - # if project.project_language.blank? - # json.nil! - # else - # json.id project.project_language.id - # json.name project.project_language.name - # end - # end + json.partial! 'project', project: project + json.author do + json.name project.owner.try(:show_real_name) + json.login project.owner.login + json.image_url url_to_avatar(project.owner) + end + json.category do + if project.project_category.blank? + json.nil! + else + json.id project.project_category.id + json.name project.project_category.name + end + end + json.language do + if project.project_language.blank? + json.nil! + else + json.id project.project_language.id + json.name project.project_language.name + end + end end end From f66d0eff0b45b37e5120367388d86c88f9898e8a Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 11:37:31 +0800 Subject: [PATCH 10/26] bug --- app/views/projects/index.json.jbuilder | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/projects/index.json.jbuilder b/app/views/projects/index.json.jbuilder index 6c9817c92..e4052da18 100644 --- a/app/views/projects/index.json.jbuilder +++ b/app/views/projects/index.json.jbuilder @@ -1,6 +1,7 @@ json.total_count @total_count +json.all_projects @projects.as_json json.projects do - json.all_projects @projects.as_json + json.array! @projects.to_a do |project| json.partial! 'project', project: project json.author do From aced4885d72afd525f92af2adf67a627a71dba2e Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 11:49:51 +0800 Subject: [PATCH 11/26] =?UTF-8?q?=E6=B5=8B=E8=AF=95bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 8 +++++++- app/views/projects/index.json.jbuilder | 1 - 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 618c30571..768994586 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -11,8 +11,14 @@ class ProjectsController < ApplicationController scope = Projects::ListQuery.call(params.merge(is_admin: is_admin, user_id: current_user.try(:id))) @total_count = scope.size + other_projects = scope.page(params[:page]).limit(params[:limit] || 15) + projects = paginate(scope) + Rails.logger.info("##########____other_projects_projects_as_json__________#############{other_projects.as_json}") - @projects = paginate(scope) + Rails.logger.info("##########____projects_as_json__________#############{projects.as_json}") + @projects = projects + Rails.logger.info("##########___@projects__________#############{@projects.as_json}") + @projects end def create diff --git a/app/views/projects/index.json.jbuilder b/app/views/projects/index.json.jbuilder index e4052da18..86f3365b2 100644 --- a/app/views/projects/index.json.jbuilder +++ b/app/views/projects/index.json.jbuilder @@ -1,7 +1,6 @@ json.total_count @total_count json.all_projects @projects.as_json json.projects do - json.array! @projects.to_a do |project| json.partial! 'project', project: project json.author do From 3f81d2ab5d8bd7dc079025bafa1fe1fcb15e6bac Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 11:54:32 +0800 Subject: [PATCH 12/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9like=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 2 +- app/models/concerns/matchable.rb | 5 ++++- app/views/projects/index.json.jbuilder | 1 - 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 768994586..658c72b18 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -18,7 +18,7 @@ class ProjectsController < ApplicationController Rails.logger.info("##########____projects_as_json__________#############{projects.as_json}") @projects = projects Rails.logger.info("##########___@projects__________#############{@projects.as_json}") - @projects + end def create diff --git a/app/models/concerns/matchable.rb b/app/models/concerns/matchable.rb index 13fcff80d..182756de4 100644 --- a/app/models/concerns/matchable.rb +++ b/app/models/concerns/matchable.rb @@ -2,8 +2,11 @@ module Matchable extend ActiveSupport::Concern included do + # scope :like, lambda { |keywords| + # joins(:repository).where(%w[ projects.name projects.identifier repositories.identifier ].map { |f| "LOWER(#{f}) LIKE :q" }.join(' OR '), q: "%#{keywords.split(" ").join('|')}%") unless keywords.blank? + # } scope :like, lambda { |keywords| - joins(:repository).where(%w[ projects.name projects.identifier repositories.identifier ].map { |f| "LOWER(#{f}) LIKE :q" }.join(' OR '), q: "%#{keywords.split(" ").join('|')}%") unless keywords.blank? + joins(:repository).where("projects.name like ? or repositories.identifier like ?", "%#{keywords}","%#{keywords}") unless keywords.blank? } scope :with_project_category, ->(category_id) { where(project_category_id: category_id) unless category_id.blank? } scope :with_project_language, ->(language_id) { where(project_language_id: language_id) unless language_id.blank? } diff --git a/app/views/projects/index.json.jbuilder b/app/views/projects/index.json.jbuilder index 86f3365b2..b4e150314 100644 --- a/app/views/projects/index.json.jbuilder +++ b/app/views/projects/index.json.jbuilder @@ -1,5 +1,4 @@ json.total_count @total_count -json.all_projects @projects.as_json json.projects do json.array! @projects.to_a do |project| json.partial! 'project', project: project From a655b739461fb9a06135bc4326a077b96fcbcef7 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 11:56:58 +0800 Subject: [PATCH 13/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/concerns/matchable.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/concerns/matchable.rb b/app/models/concerns/matchable.rb index 182756de4..d6f81ff43 100644 --- a/app/models/concerns/matchable.rb +++ b/app/models/concerns/matchable.rb @@ -6,7 +6,7 @@ module Matchable # joins(:repository).where(%w[ projects.name projects.identifier repositories.identifier ].map { |f| "LOWER(#{f}) LIKE :q" }.join(' OR '), q: "%#{keywords.split(" ").join('|')}%") unless keywords.blank? # } scope :like, lambda { |keywords| - joins(:repository).where("projects.name like ? or repositories.identifier like ?", "%#{keywords}","%#{keywords}") unless keywords.blank? + joins(:repository).where("LOWER(projects.name) like ? or LOWER(repositories.identifier) like ?", "%#{keywords.downcase}","%#{keywords.downcase}") unless keywords.blank? } scope :with_project_category, ->(category_id) { where(project_category_id: category_id) unless category_id.blank? } scope :with_project_language, ->(language_id) { where(project_language_id: language_id) unless language_id.blank? } From 7142e882566a5fac24338f192664acf317786e43 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 11:58:36 +0800 Subject: [PATCH 14/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/concerns/matchable.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/concerns/matchable.rb b/app/models/concerns/matchable.rb index d6f81ff43..206eca7a1 100644 --- a/app/models/concerns/matchable.rb +++ b/app/models/concerns/matchable.rb @@ -6,7 +6,7 @@ module Matchable # joins(:repository).where(%w[ projects.name projects.identifier repositories.identifier ].map { |f| "LOWER(#{f}) LIKE :q" }.join(' OR '), q: "%#{keywords.split(" ").join('|')}%") unless keywords.blank? # } scope :like, lambda { |keywords| - joins(:repository).where("LOWER(projects.name) like ? or LOWER(repositories.identifier) like ?", "%#{keywords.downcase}","%#{keywords.downcase}") unless keywords.blank? + joins(:repository).where("LOWER(projects.name) like ? or LOWER(projects.identifier) like ? or LOWER(repositories.identifier) like ?", "%#{keywords.downcase}","%#{keywords.downcase}","%#{keywords.downcase}") unless keywords.blank? } scope :with_project_category, ->(category_id) { where(project_category_id: category_id) unless category_id.blank? } scope :with_project_language, ->(language_id) { where(project_language_id: language_id) unless language_id.blank? } From 0b1a7af1082c864a68c2aab5c2bf8c1cd6720047 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 12:01:45 +0800 Subject: [PATCH 15/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9like=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 10 +--------- app/models/concerns/matchable.rb | 5 ++++- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 658c72b18..7727ebe04 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -9,16 +9,8 @@ class ProjectsController < ApplicationController is_admin = current_user && current_user&.admin? scope = Projects::ListQuery.call(params.merge(is_admin: is_admin, user_id: current_user.try(:id))) - @total_count = scope.size - other_projects = scope.page(params[:page]).limit(params[:limit] || 15) - projects = paginate(scope) - Rails.logger.info("##########____other_projects_projects_as_json__________#############{other_projects.as_json}") - - Rails.logger.info("##########____projects_as_json__________#############{projects.as_json}") - @projects = projects - Rails.logger.info("##########___@projects__________#############{@projects.as_json}") - + @projects = paginate(scope) end def create diff --git a/app/models/concerns/matchable.rb b/app/models/concerns/matchable.rb index 206eca7a1..a9427f2bb 100644 --- a/app/models/concerns/matchable.rb +++ b/app/models/concerns/matchable.rb @@ -6,8 +6,11 @@ module Matchable # joins(:repository).where(%w[ projects.name projects.identifier repositories.identifier ].map { |f| "LOWER(#{f}) LIKE :q" }.join(' OR '), q: "%#{keywords.split(" ").join('|')}%") unless keywords.blank? # } scope :like, lambda { |keywords| - joins(:repository).where("LOWER(projects.name) like ? or LOWER(projects.identifier) like ? or LOWER(repositories.identifier) like ?", "%#{keywords.downcase}","%#{keywords.downcase}","%#{keywords.downcase}") unless keywords.blank? + joins(:repository).where(%w[ projects.name projects.identifier repositories.identifier ].map { |f| "LOWER(#{f}) LIKE :q" }.join(' OR '), q: "%#{keywords.downcase}%") unless keywords.blank? } + # scope :like, lambda { |keywords| + # joins(:repository).where("LOWER(projects.name) like ? or LOWER(projects.identifier) like ? or LOWER(repositories.identifier) like ?", "%#{keywords.downcase}","%#{keywords.downcase}","%#{keywords.downcase}") unless keywords.blank? + # } scope :with_project_category, ->(category_id) { where(project_category_id: category_id) unless category_id.blank? } scope :with_project_language, ->(language_id) { where(project_language_id: language_id) unless language_id.blank? } scope :with_project_type, ->(project_type) { where(project_type: project_type) if Project.project_types.include?(project_type) } From 724c894e325c14132efa46364691350125f4d72c Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 13:37:15 +0800 Subject: [PATCH 16/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 6 ++++-- app/models/concerns/matchable.rb | 8 +------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 7727ebe04..ab8426922 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -9,8 +9,10 @@ class ProjectsController < ApplicationController is_admin = current_user && current_user&.admin? scope = Projects::ListQuery.call(params.merge(is_admin: is_admin, user_id: current_user.try(:id))) - @total_count = scope.size - @projects = paginate(scope) + + scope_ids = scope.pluck(:id) + @total_count = scope_ids.size + @projects = paginate(Project.where(id: scope_ids)) end def create diff --git a/app/models/concerns/matchable.rb b/app/models/concerns/matchable.rb index a9427f2bb..13fcff80d 100644 --- a/app/models/concerns/matchable.rb +++ b/app/models/concerns/matchable.rb @@ -2,15 +2,9 @@ module Matchable extend ActiveSupport::Concern included do - # scope :like, lambda { |keywords| - # joins(:repository).where(%w[ projects.name projects.identifier repositories.identifier ].map { |f| "LOWER(#{f}) LIKE :q" }.join(' OR '), q: "%#{keywords.split(" ").join('|')}%") unless keywords.blank? - # } scope :like, lambda { |keywords| - joins(:repository).where(%w[ projects.name projects.identifier repositories.identifier ].map { |f| "LOWER(#{f}) LIKE :q" }.join(' OR '), q: "%#{keywords.downcase}%") unless keywords.blank? + joins(:repository).where(%w[ projects.name projects.identifier repositories.identifier ].map { |f| "LOWER(#{f}) LIKE :q" }.join(' OR '), q: "%#{keywords.split(" ").join('|')}%") unless keywords.blank? } - # scope :like, lambda { |keywords| - # joins(:repository).where("LOWER(projects.name) like ? or LOWER(projects.identifier) like ? or LOWER(repositories.identifier) like ?", "%#{keywords.downcase}","%#{keywords.downcase}","%#{keywords.downcase}") unless keywords.blank? - # } scope :with_project_category, ->(category_id) { where(project_category_id: category_id) unless category_id.blank? } scope :with_project_language, ->(language_id) { where(project_language_id: language_id) unless language_id.blank? } scope :with_project_type, ->(project_type) { where(project_type: project_type) if Project.project_types.include?(project_type) } From 657b1f36d5864609652406356eef6ccfcad2ea3b Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 14:28:27 +0800 Subject: [PATCH 17/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9commits=E7=9A=84?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/repositories/commits.json.jbuilder | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/app/views/repositories/commits.json.jbuilder b/app/views/repositories/commits.json.jbuilder index dff10128c..7bee6fd18 100644 --- a/app/views/repositories/commits.json.jbuilder +++ b/app/views/repositories/commits.json.jbuilder @@ -1,10 +1,13 @@ -json.total_count @hash_commit[:total_count] -json.commits do - json.array! @hash_commit[:body] do |commit| - json.sha commit['sha'] - json.message commit['commit']['message'] - json.timestamp render_unix_time(commit['commit']['author']['date']) - json.time_from_now time_from_now(commit['commit']['author']['date']) - json.partial! 'author', user: @project.owner +unless @hash_commit[:status].present? #如果有状态值,则表示报错了 + json.total_count @hash_commit[:total_count] + json.commits do + json.array! @hash_commit[:body] do |commit| + json.sha commit['sha'] + json.message commit['commit']['message'] + json.timestamp render_unix_time(commit['commit']['author']['date']) + json.time_from_now time_from_now(commit['commit']['author']['date']) + json.partial! 'author', user: @project.owner + end end end + From 9498c438cd4bf42bd5fd1bd856f24dc4f286317a Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 14:33:58 +0800 Subject: [PATCH 18/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9hash=5Fcommit=E7=9A=84j?= =?UTF-8?q?son?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/repositories/commits.json.jbuilder | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/views/repositories/commits.json.jbuilder b/app/views/repositories/commits.json.jbuilder index 7bee6fd18..eacd1e6cf 100644 --- a/app/views/repositories/commits.json.jbuilder +++ b/app/views/repositories/commits.json.jbuilder @@ -1,4 +1,8 @@ -unless @hash_commit[:status].present? #如果有状态值,则表示报错了 +Rails.logger.info("#######_______@hash_commit______############{@hash_commit}") +if @hash_commit[:status].present? #如果有状态值,则表示报错了 + json.total_count 0 + json.commits [] +else json.total_count @hash_commit[:total_count] json.commits do json.array! @hash_commit[:body] do |commit| From 482888bcb91342b6dee58f3a2cc47d0af10012e6 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 14:41:01 +0800 Subject: [PATCH 19/26] =?UTF-8?q?=E6=B5=8B=E8=AF=95commits?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/repositories_controller.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 557ed4729..8691c299f 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -39,6 +39,8 @@ class RepositoriesController < ApplicationController def commits @hash_commit = Gitea::Repository::Commits::ListService.new(@project.owner, @project.identifier, sha: params[:sha], page: params[:page]).call + Rails.logger.info("######__________________#####{@hash_commit}") + @hash_commit end def single_commit From dc5bf457f6daffec31a4eb80dd58f809526dd307 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 14:54:51 +0800 Subject: [PATCH 20/26] =?UTF-8?q?=E6=B5=8B=E8=AF=95gitea=E7=9A=84git?= =?UTF-8?q?=E2=80=94=E2=80=94params?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/repositories_controller.rb | 2 -- app/services/gitea/client_service.rb | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 8691c299f..557ed4729 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -39,8 +39,6 @@ class RepositoriesController < ApplicationController def commits @hash_commit = Gitea::Repository::Commits::ListService.new(@project.owner, @project.identifier, sha: params[:sha], page: params[:page]).call - Rails.logger.info("######__________________#####{@hash_commit}") - @hash_commit end def single_commit diff --git a/app/services/gitea/client_service.rb b/app/services/gitea/client_service.rb index 1b539bb7b..1bd90f473 100644 --- a/app/services/gitea/client_service.rb +++ b/app/services/gitea/client_service.rb @@ -28,6 +28,7 @@ class Gitea::ClientService < ApplicationService end def get(url, params={}) + Rails.logger.info("##########__________get_params__________########{params}") auth_token = authen_params(params[:token]) conn(auth_token).get do |req| req.url full_url(url) From f9f5b9fdb7b2ef0981b25e87dd14a6181ad11a77 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 15:11:54 +0800 Subject: [PATCH 21/26] =?UTF-8?q?=E6=B5=8B=E8=AF=95commits=E6=8A=A5?= =?UTF-8?q?=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/repositories_controller.rb | 4 +++- app/services/gitea/client_service.rb | 1 - app/services/gitea/repository/commits/list_service.rb | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 557ed4729..0c0cda9b5 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -38,7 +38,9 @@ class RepositoriesController < ApplicationController end def commits - @hash_commit = Gitea::Repository::Commits::ListService.new(@project.owner, @project.identifier, sha: params[:sha], page: params[:page]).call + hash_commit = Gitea::Repository::Commits::ListService.new(@project.owner, @project.identifier, sha: params[:sha], page: params[:page]).call + Rails.logger.info("##########__________hash_commit__________########{hash_commit}") + @hash_commit = hash_commit end def single_commit diff --git a/app/services/gitea/client_service.rb b/app/services/gitea/client_service.rb index 1bd90f473..1b539bb7b 100644 --- a/app/services/gitea/client_service.rb +++ b/app/services/gitea/client_service.rb @@ -28,7 +28,6 @@ class Gitea::ClientService < ApplicationService end def get(url, params={}) - Rails.logger.info("##########__________get_params__________########{params}") auth_token = authen_params(params[:token]) conn(auth_token).get do |req| req.url full_url(url) diff --git a/app/services/gitea/repository/commits/list_service.rb b/app/services/gitea/repository/commits/list_service.rb index 877f621ba..a8c1527c7 100644 --- a/app/services/gitea/repository/commits/list_service.rb +++ b/app/services/gitea/repository/commits/list_service.rb @@ -24,6 +24,8 @@ class Gitea::Repository::Commits::ListService < Gitea::ClientService end def render_result(response) + Rails.logger.info("#####___________response.status_________##########{response.status}") + Rails.logger.info("#####___________response.body_________##########{response.body}") body = JSON.parse(response.body) case response.status when 200 From 2738efb04da195a611b88ea0dd82b0841c821c09 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 15:14:52 +0800 Subject: [PATCH 22/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9commits=E7=9A=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/repositories_controller.rb | 4 +--- app/services/gitea/repository/commits/list_service.rb | 7 +++---- app/views/repositories/commits.json.jbuilder | 3 +-- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 0c0cda9b5..557ed4729 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -38,9 +38,7 @@ class RepositoriesController < ApplicationController end def commits - hash_commit = Gitea::Repository::Commits::ListService.new(@project.owner, @project.identifier, sha: params[:sha], page: params[:page]).call - Rails.logger.info("##########__________hash_commit__________########{hash_commit}") - @hash_commit = hash_commit + @hash_commit = Gitea::Repository::Commits::ListService.new(@project.owner, @project.identifier, sha: params[:sha], page: params[:page]).call end def single_commit diff --git a/app/services/gitea/repository/commits/list_service.rb b/app/services/gitea/repository/commits/list_service.rb index a8c1527c7..4bba67457 100644 --- a/app/services/gitea/repository/commits/list_service.rb +++ b/app/services/gitea/repository/commits/list_service.rb @@ -24,9 +24,7 @@ class Gitea::Repository::Commits::ListService < Gitea::ClientService end def render_result(response) - Rails.logger.info("#####___________response.status_________##########{response.status}") - Rails.logger.info("#####___________response.body_________##########{response.body}") - body = JSON.parse(response.body) + case response.status when 200 result = {} @@ -35,7 +33,8 @@ class Gitea::Repository::Commits::ListService < Gitea::ClientService total_count = headers["x-total"] result.merge(total_count: total_count.to_i, body: body) else - {status: -1, message: "#{body['message']}"} + nil + # {status: -1, message: "#{body['message']}"} end end end diff --git a/app/views/repositories/commits.json.jbuilder b/app/views/repositories/commits.json.jbuilder index eacd1e6cf..7cabe209e 100644 --- a/app/views/repositories/commits.json.jbuilder +++ b/app/views/repositories/commits.json.jbuilder @@ -1,5 +1,4 @@ -Rails.logger.info("#######_______@hash_commit______############{@hash_commit}") -if @hash_commit[:status].present? #如果有状态值,则表示报错了 +if @hash_commit.blank? #如果有状态值,则表示报错了 json.total_count 0 json.commits [] else From df9bdf50b39030a62a7d28b43d731cf645b271cc Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 16:02:01 +0800 Subject: [PATCH 23/26] =?UTF-8?q?=E5=90=8C=E6=AD=A5version=E7=9A=84issues?= =?UTF-8?q?=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/sync_verion_issues.rake | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 lib/tasks/sync_verion_issues.rake diff --git a/lib/tasks/sync_verion_issues.rake b/lib/tasks/sync_verion_issues.rake new file mode 100644 index 000000000..a2e69094d --- /dev/null +++ b/lib/tasks/sync_verion_issues.rake @@ -0,0 +1,24 @@ +# 执行示例 bundle exec rake sync_version_issues:update_issues +# 线上环境执行示例 RAILS_ENV=production bundle exec rake sync_version_issues:update_issues + +namespace :sync_version_issues do + desc "update version issues_count" + + task update_issues: :environment do + versions = Version.all + puts "____________sync start________________" + + Version.transaction do + versions.find_each do |q| + issues = Issue.select(:id, :fixed_version_id,:status_id).where(fixed_version_id: q.id) + issues_count = issues.size + closed_issues_count = issues.where(status_id: 5).size + percent = issues_count == 0 ? 0.0 : (closed_issues_count.to_f / issues_count) + q.update_attributes(issues_count: issues_count, closed_issues_count: closed_issues_count, percent: percent) + puts "____________sync success________________" + end + end + puts "____________sync end________________" + end + +end \ No newline at end of file From 028876727d9f7dedb32998b0e4b8c27e509ede04 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 16:08:22 +0800 Subject: [PATCH 24/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9sync=E2=80=94=E2=80=94v?= =?UTF-8?q?ersion=5Fissues?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/sync_verion_issues.rake | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/tasks/sync_verion_issues.rake b/lib/tasks/sync_verion_issues.rake index a2e69094d..35b44c5ca 100644 --- a/lib/tasks/sync_verion_issues.rake +++ b/lib/tasks/sync_verion_issues.rake @@ -8,15 +8,14 @@ namespace :sync_version_issues do versions = Version.all puts "____________sync start________________" - Version.transaction do - versions.find_each do |q| - issues = Issue.select(:id, :fixed_version_id,:status_id).where(fixed_version_id: q.id) - issues_count = issues.size - closed_issues_count = issues.where(status_id: 5).size - percent = issues_count == 0 ? 0.0 : (closed_issues_count.to_f / issues_count) - q.update_attributes(issues_count: issues_count, closed_issues_count: closed_issues_count, percent: percent) - puts "____________sync success________________" - end + versions.find_each do |q| + issues = Issue.select(:id, :fixed_version_id,:status_id).where(fixed_version_id: q.id) + issues_count = issues.size + puts "____________issues_count____________#{issues_count}____" + closed_issues_count = issues.where(status_id: 5).size + percent = issues_count == 0 ? 0.0 : (closed_issues_count.to_f / issues_count) + q.update_attributes(issues_count: issues_count, closed_issues_count: closed_issues_count, percent: percent) + puts "____________sync success________________" end puts "____________sync end________________" end From 87f329d34dc2f5572803edd9be43906d92651354 Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 16:16:52 +0800 Subject: [PATCH 25/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9sync=5Fversion=5Fissues?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/sync_verion_issues.rake | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/tasks/sync_verion_issues.rake b/lib/tasks/sync_verion_issues.rake index 35b44c5ca..2d0806935 100644 --- a/lib/tasks/sync_verion_issues.rake +++ b/lib/tasks/sync_verion_issues.rake @@ -14,7 +14,11 @@ namespace :sync_version_issues do puts "____________issues_count____________#{issues_count}____" closed_issues_count = issues.where(status_id: 5).size percent = issues_count == 0 ? 0.0 : (closed_issues_count.to_f / issues_count) - q.update_attributes(issues_count: issues_count, closed_issues_count: closed_issues_count, percent: percent) + q.issues_count = issues_count + q.closed_issues_count = closed_issues_count + q.percent = percent + q.save!(:validate=>false) + # q.update_attributes(issues_count: issues_count, closed_issues_count: closed_issues_count, percent: percent) puts "____________sync success________________" end puts "____________sync end________________" From 0736d93b95385458c37d4db3cdb616f94fb46dda Mon Sep 17 00:00:00 2001 From: "sylor_huang@126.com" Date: Wed, 22 Apr 2020 16:34:03 +0800 Subject: [PATCH 26/26] =?UTF-8?q?=E4=BF=AE=E6=94=B9sync=5Fversion=5Fissues?= =?UTF-8?q?=E5=B9=B6=E6=B7=BB=E5=8A=A0verison.id=5Findex?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/migrate/20200422083202_add_version_id_index.rb | 5 +++++ lib/tasks/sync_verion_issues.rake | 10 +++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 db/migrate/20200422083202_add_version_id_index.rb diff --git a/db/migrate/20200422083202_add_version_id_index.rb b/db/migrate/20200422083202_add_version_id_index.rb new file mode 100644 index 000000000..f29f1343d --- /dev/null +++ b/db/migrate/20200422083202_add_version_id_index.rb @@ -0,0 +1,5 @@ +class AddVersionIdIndex < ActiveRecord::Migration[5.2] + def change + execute "ALTER TABLE versions ADD PRIMARY KEY (id);" + end +end diff --git a/lib/tasks/sync_verion_issues.rake b/lib/tasks/sync_verion_issues.rake index 2d0806935..da22a5aa0 100644 --- a/lib/tasks/sync_verion_issues.rake +++ b/lib/tasks/sync_verion_issues.rake @@ -5,10 +5,9 @@ namespace :sync_version_issues do desc "update version issues_count" task update_issues: :environment do - versions = Version.all puts "____________sync start________________" - versions.find_each do |q| + Version.all.each do |q| issues = Issue.select(:id, :fixed_version_id,:status_id).where(fixed_version_id: q.id) issues_count = issues.size puts "____________issues_count____________#{issues_count}____" @@ -17,7 +16,12 @@ namespace :sync_version_issues do q.issues_count = issues_count q.closed_issues_count = closed_issues_count q.percent = percent - q.save!(:validate=>false) + begin + q.save! + rescue Exception => e + puts "#####_______save_error______######{e}" + end + # q.update_attributes(issues_count: issues_count, closed_issues_count: closed_issues_count, percent: percent) puts "____________sync success________________" end