Picked up at the All-Star break by the Dodgers when the Blue Jays designated him for assignment, Juan Rivera drove in 46 runs and earned a new contract for $4.5 million.