Dump bazy MySQL z kluczami obcymi

Dawno nie udzielałem się na blogu ze względu na brak czasu :)

Ostatnio miałem problem ze znalezieniem gotowego skryptu odpowiadającego za zrzucanie bazy danych do pliku. Pewno większość z Was stwierdzi, że można użyć do tego specjalnego oprogramowania typu Navicat Lite, phpMyAdmin czy nawet zwykłego polecenia z konsoli. Problem pojawia się wtedy, gdy nie możemy użyć takich rozwiązań, z różnych względów np. brak wystarczających uprawnień, umiejętności itd. Z tego powodu napisałem klasę do wykonywania takiej kopii.

Klasa ta oparta jest na gotowym rozwiązaniu napisanym przez Daniele z phpclasses.org . Klasa spisywała się całkiem nie źle dopóki w moim projekcie nie zastosowałem tabel typu InnoDB z kluczami obcymi. Powyższa klasa nie oferowała tego. Szukałem innego rozwiązania no ale niestety nie udało się. Stwierdziłem, że skoro już mam tyle napisane, to dopiszę tylko swoją część dodającą do pliku klucze obce.

Tak też zrobiłem. Dopisałem kilka metod rozszerzających klasę bazową i zacząłem testować na swojej przykładowej bazie. Przyznam, że działało tak jak chciałem i działa to dobrze.

Klasa z przykładem znajduje się na Github.com

Pewna rada co do zrzucania danych z bazy do pliku. Jeśli baza jest dość duża należy wyłączyć ograniczenie czasowe do wykonywania skryptu PHP dopisując przed wywołaniem metody doDump kod: