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