新增:修复数据rake任务
This commit is contained in:
parent
cb3bb23e79
commit
4657618753
|
@ -20,10 +20,25 @@ class IssueStatus < ApplicationRecord
|
|||
ADD = 1
|
||||
SOLVING = 2
|
||||
SOLVED = 3
|
||||
FEEDBACK = 4
|
||||
# FEEDBACK = 4
|
||||
CLOSED = 5
|
||||
REJECTED = 6
|
||||
|
||||
has_many :issues
|
||||
belongs_to :project, optional: true
|
||||
|
||||
def self.init_data
|
||||
map = {
|
||||
"1" => "新增",
|
||||
"2" => "正在解决",
|
||||
"3" => "已解决",
|
||||
"5" => "关闭",
|
||||
"6" => "拒绝"
|
||||
}
|
||||
IssueStatus.order(id: :asc).each do |stat|
|
||||
next if map[stat.id] == stat.name
|
||||
Issue.where(status_id: stat.id).each{|i| i.update_column(:status_id, 1)}
|
||||
stat.destroy!
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -26,4 +26,24 @@ class IssueTag < ApplicationRecord
|
|||
belongs_to :project, optional: true, counter_cache: true
|
||||
belongs_to :user, optional: true
|
||||
|
||||
def self.init_data(project_id)
|
||||
data = [
|
||||
["缺陷", "表示项目存在问题", "#d92d4c"],
|
||||
["功能", "表示新功能申请", "#ee955a"],
|
||||
["疑问", "表示存在的问题", "#2d6ddc"],
|
||||
["支持", "表示特定功能或特定需求", "#019549"],
|
||||
["任务", "表示需要分配的任务", "#01a30d"],
|
||||
["协助", "表示需要社区用户协助", "#2a0dc1"],
|
||||
["搁置", "表示此问题不会继续处理", "#892794"],
|
||||
["文档", "表示文档材料补充", "#9ed600"],
|
||||
["测试", "表示需要测试的需求", "#2897b9"],
|
||||
["重复", "表示已存在类似的疑修", "#bb5332"]
|
||||
]
|
||||
data.each do |item|
|
||||
next if IssueTag.exists?(project_id: project_id, name: item[0])
|
||||
IssueTag.create!(project_id: project_id, name: item[0], description: item[1], color: item[2])
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
# 执行示例 bundle exec rake sync_version_issues:update_issues
|
||||
# 线上环境执行示例 RAILS_ENV=production bundle exec rake sync_version_issues:update_issues
|
||||
|
||||
namespace :fix_issue_project_issues_index do
|
||||
desc "update issue project_issues_index"
|
||||
|
||||
task update_issues: :environment do
|
||||
puts "____________fix start________________"
|
||||
|
||||
Issue.update_all(project_issues_index: nil)
|
||||
|
||||
Issue.where(project_issues_index: nil).group(:project_id).count.each do |pid, count|
|
||||
p = Project.find_by_id(pid)
|
||||
issues = p.issues.order(created_on: :asc)
|
||||
issues.find_each.with_index do |issue, index|
|
||||
issue.update_column(:project_issues_index, index+1)
|
||||
end
|
||||
end
|
||||
puts "____________fix end________________"
|
||||
end
|
||||
|
||||
end
|
|
@ -0,0 +1,53 @@
|
|||
|
||||
|
||||
namespace :upgrade_issue_generate_data do
|
||||
# 执行示例 bundle exec rake upgrade_issue_generate_data:project_issues_index
|
||||
# 线上环境执行示例 RAILS_ENV=production bundle exec rake upgrade_issue_generate_data:project_issues_index
|
||||
desc "upgrade_issue_generate_data: fix issue project_issues_index"
|
||||
|
||||
task project_issues_index: :environment do
|
||||
puts "____________fix start________________"
|
||||
|
||||
Issue.update_all(project_issues_index: nil)
|
||||
count = 0
|
||||
Issue.where(project_issues_index: nil).group(:project_id).count.each do |pid, count|
|
||||
p = Project.find_by_id(pid)
|
||||
issues = p.issues.order(created_on: :asc)
|
||||
issues.find_each.with_index do |issue, index|
|
||||
count += 1
|
||||
issue.update_column(:project_issues_index, index+1)
|
||||
end
|
||||
end
|
||||
puts "____________fix end_______total:#{count}_________"
|
||||
end
|
||||
|
||||
# 执行示例 bundle exec rake upgrade_issue_generate_data:project_init_issue_tags_and_status
|
||||
# 线上环境执行示例 RAILS_ENV=production bundle exec rake upgrade_issue_generate_data:project_init_issue_tags_and_status
|
||||
desc "upgrade_issue_generate_data: fix project init issue_tags"
|
||||
|
||||
task project_init_issue_tags_and_status: :environment do
|
||||
puts "____________fix start________________"
|
||||
IssueStatus.init_data
|
||||
IssueTag.where(user_id: nil).destroy_all
|
||||
count = 0
|
||||
Project.order(created_at: :desc).find_each do |project|
|
||||
count += 1
|
||||
IssueTag.init_data(project.id)
|
||||
end
|
||||
puts "____________fix end____total:#{count}__________"
|
||||
end
|
||||
|
||||
# 执行示例 bundle exec rake upgrade_issue_generate_data:move_assigned_to_id_to_assigners
|
||||
# 线上环境执行示例 RAILS_ENV=production bundle exec rake upgrade_issue_generate_data:move_assigned_to_id_to_assigners
|
||||
desc "upgrade_issue_generate_data: fix issue assigner to assigners"
|
||||
|
||||
task move_assigned_to_id_to_assigners: :environment do
|
||||
puts "____________fix start________________"
|
||||
count = 0
|
||||
Issue.where.not(assigned_to_id: nil).find_each do |issue|
|
||||
count += 1
|
||||
issue.assigners = User.where(id: issue.assigned_to_id)
|
||||
end
|
||||
puts "____________fix end____total:#{count}__________"
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue