33 lines
932 B
Ruby
33 lines
932 B
Ruby
|
class UpdateRepCommits < 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
|
||
|
if ProjectScore.where("project_id=?", project.id).first.nil?
|
||
|
puts "create project ==>#{project.id}"
|
||
|
ProjectScore.create(:project_id => project.id, :score => false)
|
||
|
end
|
||
|
unless project.project_score.nil?
|
||
|
# update boards
|
||
|
unless project.gpid.nil?
|
||
|
g = Gitlab.client
|
||
|
begin
|
||
|
puts project.id
|
||
|
count = g.project(project.gpid).commit_count
|
||
|
rescue
|
||
|
logger.error("The project's rep is not exit!")
|
||
|
end
|
||
|
project.project_score.update_attribute(:changeset_num, count)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def down
|
||
|
end
|
||
|
end
|