Klienci uwielbiają widzieć postępy prac nad wykonywanym projektem. Najlepiej, jeśli zmiany widać każdego dnia. Gdy chcemy oferować najwyższy poziom usług, to musimy się dostosować do wymogów naszych klientów. Problemem okazuje się jednak pokazywanie stanu projektu, gdy pracujemy lokalnie na swoim komputerze. Każde przekopiowanie projektu pomiędzy serwerami (np. za pomocą Duplicator) to około 5 do 15 minut pracy. Bardzo cenne minuty zwłaszcza, gdy zmęczony kończysz pracę i przypominasz sobie, że strona nie jest przekopiowana. Na szczęście mamy WP Migrate DB Pro.
Zasada działania
Plugin WP Migrate DB Pro instalujemy na wszystkich stronach, na których chcemy synchronizować bazy danych. Następnie ustawiamy szczegóły połączenia pomiędzy stronami i pozostaje nam już tylko wybranie opcji Push (wysłanie bazy danych na inny serwer) lub Pull (pobranie bazy danych z serwera). Dalej już wszystko dzieje się automatycznie.
Zastosowanie WP Migrate DB Pro
Jak już wspomniałem we wstępie, kopiowanie strony za pomocą narzędzi, takich jak Duplicator zabiera zbyt dużo czasu. Nie wspominam już nawet o ręcznym przenoszeniu strony wraz z użyciem search & replace na bazie, aby działała na nowej domenie. To byłoby dopiero marnowanie czasu!
W takich momentach zawsze najlepiej szukać rozwiązań pozwalających na zautomatyzowanie procesu. Dzięki temu zwiększamy swoją produktywność lub mamy więcej czasu na przeglądanie np. Wykopu lub Kwejka. Jak kto woli wink
Wyobraźmy sobie, że pracujemy nad stroną opartą o WordPress na swoim komputerze z pomocą serwera lokalnego. W dzisiejszych czasach to raczej standard wśród front-end developerów. Musimy przecież podczas pracy kompilować pliki LESS/SASS, kompresować pliki graficzne, łączyć i minimalizować pliki JS/SVG/CSS, tworzyć sprites itd. Workflow trudny do zrealizowania na serwerze. Oprócz tego cały czas dodajemy nowe treści i rozszerzenia do Wordpresaa oraz zmieniamy konfigurację.
Jeśli chodzi o pliki, to sprawa jest prosta – możemy je przesłać np. za pomocą FTP lub zastosować jakiś system deploy’owania.
Niestety samo przesłanie plików sprawia, że strona i tak będzie wyglądać na uszkodzoną, bo zawartość bazy danych będzie inna. Zostaje nam ręczne kopiowanie bazy np. w PHPMyAdmin (kilka do kilkunastu minut ze względu na adresy URL w bazie) lub kliknięcie w jeden przycisk w WP Migrate DB Pro. Widzicie dokąd zmierzam…
Zamiast manualnych rozwiązań proponuję alternatywę w postaci kliknięcia przycisku Pull w rozszerzeniu oraz upload w kliencie FTP. Szybkie i wygodne.
Instalacja
Zanim zainstalujemy plugin musimy niestety sięgnąć po nasz portfel. Rozszerzenie na pierwszy rzut oka wydaje się drogie, ale powinno się zwrócić po jakimś czasie (oszczędzamy nasz cenny czas!). Ja na początek wybrałem najtańszą opcję, która mi starczy na 6 stron. Raczej nie przekroczę tego limitu, bo nie pracuję jednocześnie nad taką duża ilością projektów.
Gdy już płatność mamy za sobą, możemy pobrać paczkę z pluginem i zainstalować go na docelowych stronach.
Konfiguracja i akcja!
Zarządzenie WP Migrate DB Pro znajduje się w Narzędzia –> WP Migrate DB Pro. Na początku najlepiej przejść do zakładki Settings, gdzie ustawiamy najważniejsze rzeczy.
Tutaj musimy zaznaczyć czy strona ma akceptować zapytania Pull (pozwolenie innej stronie na ściągnięcie naszej bazy danych) i Push (pozwolenie innej stronie na podmianę bazy danych). Ja obie opcje zaznaczam na obu stronach, bo wiem, co robię wink
Ważna sprawa to Connection Info. Mamy tutaj podany kod, który musimy podać na drugiej stronie, dzięki czemu będą one mogły się między sobą bezproblemowo komunikować.
Przechodzimy do zakładki Migrate i wybieramy Pull, jeśli chcemy pobrać bazę danych z innego serwera lub Push, jeśli chcemy wysłać bazę danych na inny serwer. W pole wpisujemy kod z tej drugiej strony i wciskamy przycisk Migrate. Warto też zaznaczyć opcję Save Migration Profile, aby zapisać konfigurację i w przyszłości wykonywać taką samą operację na jeden klik.
Oprócz tego, co wspomniałem mamy do dyspozycji opcje zaawansowane, których nie omówię w tym poście, bo już i tak za mocno się rozpisałem. Szczegóły oczywiście można doczytać w dokumentacji.
Czy wy też podzielacie mój entuzjazm do tego pluginu, czy może jednak wolicie tradycyjne metody migracji strony?
Jeśli mowa o cennych minutach, to moim zdaniem lepiej od razu pracować na docelowej domenie (czyli jeśli pracujesz nad mino.pl, to na swoim developerskim hostingu zakładasz domenę mino.pl i kopiujesz bazę i pliki 1:1) i tylko w swoim komputerze przestawić IP mino.pl na developerski hosting (mi wygodnie jest przestawić /etc/hosts, ale na pewno są też jakieś graficzne narzędzia do tego czy pluginy do przeglądarki).
Wtedy odpada cała klasa problemów do rozwiązania :)
Problem jest w tym, że muszę pracować na swoim komputerze, gdzie działa task runner Gulp, który kompiluje mi LESS, minimalizuje JS, kompresuje pliki graficzne i jeszcze sporo innych rzeczy. Nie mam jak tego odpalić na serwerze.
To też jest do zrobienia na twoim komputerze (mino.pl -> 127.0.0.1)