|
|
|
@@ -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 |