The 33-year-old Miles was one of the final players cut by the Reds this spring and signed a minor league contract with St. Louis on April 30. He batted .279 with 13 RBIs in 16 games.
Miles previously played with the Cardinals from 2006-08 and was a member of the World Series title team in '06. He was in uniform for Tuesday night's game against the Reds, although he wasn't in the starting lineup and manager Tony La Russa said he wouldn't start Wednesday, either.
Outfielder Allen Craig was optioned to Triple-A Memphis, one day after being recalled.