From a68392fd247a348fccf4f36cec7be8fe43c030ef Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 14 Jan 2016 13:05:33 +0800 Subject: [PATCH] =?UTF-8?q?issue=E7=BB=9F=E8=AE=A1=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=20=E6=8F=90=E4=BA=A4=E6=AC=A1=E6=95=B0?= =?UTF-8?q?=E5=8A=A0=E5=85=A5=E6=96=B0=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/issue.rb | 12 ++++++++---- db/migrate/20160114022928_update_project_score.rb | 15 +++++++++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/app/models/issue.rb b/app/models/issue.rb index e898296af..33005ff57 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -173,14 +173,18 @@ class Issue < ActiveRecord::Base # 创建issue的时候,issues_count加1 def add_issues_count - issue_count = self.project.issues_count + 1 - self.project.update_attribute(:issues_count, issue_count) + unless self.project.project_score.nil? + issue_count = self.project.project_score.issue_num + 1 + self.project.project_score.update_attribute(:issue_num, issue_count) + end end # 删除issue的时候,issues_count减1 def decrease_issues_count - issue_count = self.project.issues_count - 1 - self.project.update_attribute(:issues_count, issue_count) + unless self.project.project_score.nil? + issue_count = self.project.project_score.issue_num - 1 + self.project.project_score.update_attribute(:issue_num, issue_count) + end end # 更新缺陷 diff --git a/db/migrate/20160114022928_update_project_score.rb b/db/migrate/20160114022928_update_project_score.rb index a00013999..594fdb45e 100644 --- a/db/migrate/20160114022928_update_project_score.rb +++ b/db/migrate/20160114022928_update_project_score.rb @@ -5,6 +5,10 @@ class UpdateProjectScore < ActiveRecord::Migration for i in 1 ... project_count do i Project.page(i).per(30).each do |project| puts project.id + if ProjectScore.where("project_id=?", project.id).first.nil? + puts "create project ==>#{project.id}" + ProjectScore.create(:project_id => @project.id, :score => false) + end unless project.project_score.nil? # update boards unless project.boards.first.nil? @@ -40,6 +44,17 @@ class UpdateProjectScore < ActiveRecord::Migration attachments_count = project.attachments.count project.project_score.update_attribute(:attach_num, attachments_count) end + # update commits + unless project.gpid.nil? + g = Gitlab.client + begin + puts project.id + count = g.project(project.gpid).commit_count + rescue + logger.error("The project's rep is not exit!") + end + project.project_score.update_attribute(:changeset_num, count) + end end end end