Napisaliśmy skrypt do obsługi zrzutów DB dla rozgałęzień. Przeczytaj ten artykuł .
Podstawowa zasada polega na tym, że czyta dane w local.xml
celu pobrania referencji bazy danych, a następnie zrzuca dane na tej podstawie. Dzieli zrzut na dwie części, tylko strukturę, a następnie dane. Ale kluczem jest to, że przyspiesza konwencjonalny proces zrzutu poprzez pomijanie nieistotnych danych , a najbardziej krytycznie zapobiega blokowaniu się tabel podczas zrzutu, które w przeciwnym razie zablokowałyby / zawiesiłyby twoją witrynę.
Gdy masz zrzut MySQL, możesz bardzo łatwo zmienić adres URL, używając tylko sed
sed -i 's/www.mydomain.com/staging.mydomain.com/g' ./var/db.sql
Następnie uruchom import mysql do nowej bazy danych.
Bez skryptu wyglądałaby bardzo podstawowa wersja.
mysqldump -hHostname -uUsername LiveDbname -p > db.sql
sed -i 's/www.mydomain.com/staging.mydomain.com/g' db.sql
mysql -hHostname -uUsername DevDbname -p < db.sql
Nie ma żadnego powodu, aby usuwać plik local.xml lub ponownie uruchomić instalator, jeśli zmienisz w ten sposób adresy URL w bazie danych.
Cały proces rozgałęziania jest dobrze omówiony w naszym Magento GIT Guide . Jest to dobry proces do tworzenia gałęzi programistycznych, ale znacznie zmniejsza rzeczywistą bazę danych. Dlatego testy nie będą zupełnie takie same jak na stronie na żywo.
Dlatego wykonanie zrzutu waniliowego DB, zamiany seda, importu DB jest wystarczające dla witryny pomostowej. I będzie odzwierciedlać / dopasowywać witrynę na żywo tak dokładnie, jak to możliwe.
Jeśli chodzi o zapobieganie komunikacji z klientami - nigdy nie uważaliśmy tego za konieczne, ponieważ zawsze tworzymy konta celowo w celu testowania, nigdy nie wykorzystując prawdziwych zamówień klientów do testowania.