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] =?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