Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Synchronizacja struktury bazy danych
Forum PHP.pl > Forum > Bazy danych > MySQL
MatKus
Witam

Pracuje nad projektem, który ma serwery DEV, TEST oraz FINAL.
Jak zwykle, na DEV mamy bałagan, coś się dodaje, coś usuwa... norma.
Co jakiś czas trzeba jednak zsynchronizować te serwery. O ile z plikami nie ma problemu, o tyle z bazą danych i owszem.
Czy ktoś z Was zna jakiś dobry sposób na synchronizachę stryktury bazy danych?
Chodzi mi np. o skrypt PHP (lub inne rozwiązanie) który sprawdzi strukturę wszystkich tabel w bazie danych i w docelowej bazie doda nowe tabele, usunie nieistniejące tabele, doda/usunie kolumny, klucze obce itp.

Czy ktoś zna taki skrypt? Czy to w ogóle wykonalne? Bo jak o tym myslę to się zastanawiam, jak taki skrypt by zareagował np. na zmianę typu kolumny.
nospor
Hmm.... to ja chyba jestem masochistą, bo jak robie zmiany w bazie DEV, to i potem recznie je wprowadzam do bazy produkcyjnej...
redeemer
Jest np. Phinx, ale czasami frameworki i/lub ORMy mają narzędzia do tego. Google: "database migration php"
MatKus
Cytat(nospor @ 21.03.2014, 14:44:41 ) *
Hmm.... to ja chyba jestem masochistą, bo jak robie zmiany w bazie DEV, to i potem recznie je wprowadzam do bazy produkcyjnej...

Ta... to teraz weź projekt, nad którym pracuje mniej lub bardziej aktywnie kilkanaście osób i po 3 miesiącach testów trzeba to przenieść na serwer finalny. Jak dla mnie to będzie masakra ręcznie coś takiego robić.
nospor
Kazda z oosb przygotowuje sql ze zmianami jaka robila. Nie widze wiekszego problemu smile.gif
bpskiba
Witam
Ja korzystam z sqlyog. Niestety płatny...
import, eksport, synchronizacja struktury, synchronizacja danych, jednostronna, dwustronna, porównanie, itd
dla mnie to podstawowe narzędzie
MatKus
Cytat(bpskiba @ 23.03.2014, 22:33:38 ) *
Witam
Ja korzystam z sqlyog. Niestety płatny...
import, eksport, synchronizacja struktury, synchronizacja danych, jednostronna, dwustronna, porównanie, itd
dla mnie to podstawowe narzędzie

Próbowałem przez 2 godziny na różne sposoby tym programem, ale jak używam "database synchronization wizard" to wywala że zawsze wywala mi "column count does not match". No przecież wiem, że does not match, bo dodałem jedną i po to właśnie chcę zsynchronizować to. Natomiast jak włączam "Schema synchronization wizard" to mogę tylko w ramach jednego serwera łączyć te bazy, co też do niczego mi się nie przyda.

W miarę fajnie radzi sobie z tym Workbench, ale niestety tu z kolei bazy danych muszą się tak samo nazywać. Ale przynajmniej da się to zrobić pomiędzy serwerami.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.