Ce n'est pas une solution liée à MySQL en soi, mais nous avons eu beaucoup de succès avec un produit appelé liquibase. (http://www.liquibase.org/ )
Il s'agit d'une solution de migration qui couvre de nombreux fournisseurs de bases de données différents, permettant à toutes les modifications de la base de données d'être codées dans des fichiers de configuration, qui sont tous conservés dans Subversion. Étant donné que toute la configuration est conservée dans des fichiers XML, il est facile de fusionner les modifications d'autres personnes dans le script principal et cela fonctionne bien avec les balises et les branches.
La base de données peut être mise à jour au niveau de révision actuel en exécutant la commande "mettre à jour la base de données". La plupart des modifications ont également la possibilité d'annuler une modification de la base de données, ce qui peut également être utile. Je recommanderais de suivre la pratique consistant à vous assurer que vous êtes à jour avant d'exécuter la migration, car cela serait probablement le plus simple.
Enfin, lorsqu'il s'agit d'une livraison en production, vous pouvez choisir d'avoir toutes les modifications de la base de données sous forme de script SQL complet afin qu'il puisse permettre aux administrateurs de base de données de l'exécuter et de maintenir une séparation des tâches.
Jusqu'à présent, cela a fonctionné comme un charme.