Dit is op zich geen MySQL-gerelateerde oplossing, maar we hebben veel succes gehad met een product genaamd liquibase. (http://www.liquibase.org/ )
Het is een migratieoplossing die veel verschillende databaseleveranciers dekt, waardoor alle databasewijzigingen kunnen worden gecodeerd in configuratiebestanden, die allemaal in Subversion worden bewaard. Omdat alle configuratie in XML-bestanden wordt bewaard, is het gemakkelijk om de wijzigingen van anderen samen te voegen in het hoofdscript en het speelt goed met tags en branches.
De database kan op het huidige revisieniveau worden gebracht door het commando "update database" uit te voeren. De meeste wijzigingen hebben ook de mogelijkheid om een databasewijziging ongedaan te maken, wat ook handig kan zijn. Ik zou aanraden om de gewoonte te volgen om ervoor te zorgen dat je up-to-date bent voordat je de migratie uitvoert, omdat dit waarschijnlijk het gemakkelijkst is.
Ten slotte, als het gaat om een productielevering, kunt u ervoor kiezen om alle databasewijzigingen als een volledig SQL-script uit te voeren, zodat DBA's het kunnen uitvoeren en een scheiding van taken kunnen handhaven.
Tot nu toe werkt het als een tierelier.