Add License Id and Reset Version issues_count

This commit is contained in:
sylor_huang@126.com 2020-09-27 10:47:55 +08:00
parent d9f6750797
commit 1d72256098
2 changed files with 18 additions and 1 deletions

View File

@ -196,7 +196,7 @@ class IssuesController < ApplicationController
if params[:status_id].to_i == 5
@issue.issue_times.update_all(end_time: Time.now)
@issue.update_closed_issues_count_in_project!
# @issue.update_closed_issues_count_in_project! #已经有after_update方法了这里就不需要了
end
@issue.create_journal_detail(change_files, issue_files, issue_file_ids, current_user&.id)

View File

@ -0,0 +1,17 @@
class ResetVersionsCount < ActiveRecord::Migration[5.2]
def change
execute "ALTER TABLE licenses MODIFY COLUMN id INT AUTO_INCREMENT;"
versions = Version.includes(:issues).select(:id, :closed_issues_count, :percent,:issues_count)
versions.each do |v|
Version.reset_counters v.id, :issues
closed_issues = Issue.select(:id, :fixed_version_id, :status_id).where(fixed_version_id: v.id, status_id: 5).size
unless v.closed_issues_count.to_i == closed_issues
percent = v.issues_count.to_i <=0 ? 0.0 : (closed_issues.to_f / v.issues_count.to_i)
v.closed_issues_count = closed_issues
v.percent = percent
v.save
end
puts v.id
end
end
end