I'm in charge of deploying a reasonably high-traffic dynamic web site built on PHP/MySQL. We are a team of 5 developers and we update the site every 2 weeks.

We use rsync to deploy code to staging and then production, but can't decide on the best approach to managing changes to the database schema. Ideally I'd like a reliable automated solution but haven't found any, and am weighing up whether it's better to keep looking (so any of the developers can easily deploy) or just to managing changes manually (in which case deployments are tedious and error-prone). We only have a single master database server.

How do other webmasters manage this?