Migracje schematów
Większość nowoczesnych projektów wykorzystuje narzędzie do śledzenia każdej indywidualnej zmiany w bazie danych i kojarzy ze zmianą numer wersji. Baza danych musi również posiadać jakąś tabelę do przechowywania jej aktualnej wersji. W ten sposób narzędzie może sprawdzić aktualną wersję i dowiedzieć się, które (jeśli w ogóle) zmiany należy zastosować.
Istnieje kilka bezpłatnych narzędzi do tego celu, takich jak:
Wszystkie te wymagają pisania skrupulatnych plików kodu dla każdej zmiany podczas tworzenia. Trudno byłoby przeprowadzić inżynierię wsteczną projektu, jeśli przez cały czas nie śledziłeś procesu tworzenia kodu zmiany schematu.
Istnieją narzędzia takie jak mysqldbcompare które mogą pomóc w wygenerowaniu minimalnych instrukcji ALTER TABLE w celu uaktualnienia produkcyjnej bazy danych.
Istnieje również nowsze bezpłatne narzędzie o nazwie Shift (współpracuję z inżynierem, który ją stworzył), co pomaga zautomatyzować proces aktualizacji Twojej bazy danych. Zapewnia nawet ładny interfejs sieciowy do wprowadzania zmian w schemacie, uruchamiania ich jako zmian online i monitorowania ich postępu. Jednak korzystanie z tego narzędzia wymaga sporego doświadczenia, nie poleciłbym go początkującym.