class SyncRepStatics < ActiveRecord::Migration
  def up
    g = Gitlab.client
    # projects = Project.find_by_sql("SELECT p.* FROM projects p, project_scores ps where p.id = ps.project_id and p.gpid is not null and ps.changeset_num > 0")
    projects = Project.where("gpid is not null")
    count = projects.count / 30 + 2
    transaction do
      for i in 1 ... count do i
      projects.page(i).per(30).each do |project|
        begin
          puts project.id
          g.rep_stats(project.gpid).each do |static|
            puts static.uname
            RepStatics.create(:project_id => project.id, :uname => static.uname, :commits_num => static.commits_num, :email => static.email, :add => static.add, :del => static.del, :changeset => static.changes)
          end
        rescue
          logger.error("Sync rep failed!")
        end
      end
      end
    end
  end

  def down
  end
end
