parent
70cd068ea8
commit
e808f0bc61
@ -0,0 +1,7 @@
|
|||||||
|
class AddBoardNumToProjectScore < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :project_scores, :board_num, :integer, :default => false
|
||||||
|
add_column :project_scores, :act_num, :integer, :default => false
|
||||||
|
add_column :project_scores, :attach_num, :integer, :default => false
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,51 @@
|
|||||||
|
class UpdateProjectScore < ActiveRecord::Migration
|
||||||
|
def up
|
||||||
|
project_count = Project.all.count / 30 + 2
|
||||||
|
transaction do
|
||||||
|
for i in 1 ... project_count do i
|
||||||
|
Project.page(i).per(30).each do |project|
|
||||||
|
puts project.id
|
||||||
|
unless project.project_score.nil?
|
||||||
|
# update boards
|
||||||
|
unless project.boards.first.nil?
|
||||||
|
boards_count = project.boards.first.topics.count
|
||||||
|
project.project_score.update_attribute(:board_num, boards_count)
|
||||||
|
end
|
||||||
|
# update boards reply
|
||||||
|
unless project.boards.first.nil?
|
||||||
|
messages_count = Message.where("board_id =? and parent_id is not ?", project.boards.first.id, nil).count
|
||||||
|
project.project_score.update_attribute(:board_message_num, messages_count)
|
||||||
|
end
|
||||||
|
# update issues
|
||||||
|
unless project.issues.nil?
|
||||||
|
issues_count = project.issues.count
|
||||||
|
project.project_score.update_attribute(:issue_num, issues_count)
|
||||||
|
end
|
||||||
|
# update issue's journal
|
||||||
|
# if !project.project_score.nil? && !project.project_score.issue_journal_num.nil?
|
||||||
|
# project.project_score.update_attribute(:issue_journal_num, project.project_score.issue_journal_num)
|
||||||
|
# end
|
||||||
|
# update news
|
||||||
|
unless project.news.nil?
|
||||||
|
news_count = project.news.count
|
||||||
|
project.project_score.update_attribute(:news_num, news_count)
|
||||||
|
end
|
||||||
|
# update acts
|
||||||
|
acts = ForgeActivity.where("project_id = ?", project.id)
|
||||||
|
unless acts.blank?
|
||||||
|
project.project_score.update_attribute(:act_num, acts.count)
|
||||||
|
end
|
||||||
|
# update attach
|
||||||
|
unless project.attachments.nil?
|
||||||
|
attachments_count = project.attachments.count
|
||||||
|
project.project_score.update_attribute(:attach_num, attachments_count)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
end
|
||||||
|
end
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue