Im bliżej testu jest produkcja, tym lepiej może ona naśladować zachowanie produkcyjne. Chciałbym skopiować kopie zapasowe bazy danych z produkcji do naszych środowisk testowych, ale co muszę zmienić, aby test działał i aby nie zakłócać produkcji ani nie wysyłać przypadkowo wiadomości e-mail do prawdziwych klientów (oprócz ustawienia web/%secure/base_urladresu URL testu)?
Innym sposobem na zastanowienie się nad tym pytaniem byłoby rozważenie, jak wygenerować coś w rodzaju danych próbnych Magento z własnych danych produkcyjnych.
Również core_url_rewritemogą być importowane tylko ze strukturą i uruchomić Katalog URL przepisuje reindex po imporcie, chyba że trzeba te wszystkie rekordy (dla różnych testów).
Możesz także wyczyścić porzucone wózki (wskazówka:) sales_flat_quote, możesz również usuwać zamówienia, jeśli ich nie potrzebujesz i zachować tylko ograniczoną liczbę
2) Ustawienia konfiguracji
web / (niezabezpieczony | bezpieczny) / base_url
kontaktowe adresy e-mail
wyłącz email ( system/smtp/disable), abyś nie wysyłał e-maili przez pomyłkę
W przypadku deweloperów ignorowanie zawartości niektórych tabel jest w porządku. W przypadku kontroli jakości / etapowania wszystkie tabele powinny być wypełnione tak, aby odzwierciedlały produkcję jak najbliżej.
beeplogic
@FlorinelChris: Myślałem, że pytanie dotyczy uproszczenia migracji bazy danych i nie uczynienia jej tak skomplikowanym :) Bu pod jakimkolwiek względem, dobra odpowiedź!
user487772,
@Tim trudnym zadaniem jest umieszczenie wszystkich powyższych elementów w skrypcie ... uruchomienie go później jest prostym rozwiązaniem.
FlorinelChis
2
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.xmlcelu 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.
Jedną z opcji problemu z pocztą e-mail jest skonfigurowanie witryny programistycznej do przekierowywania WSZYSTKICH wiadomości e-mail do Ciebie. Dodaje trochę spokoju.
Jak to zrobisz, zależy od twojego środowiska - dla nas dodanie tego do vhosta wykonuje zadanie:
Ale przypuśćmy, że powiem mojemu systemowi testowemu, że wysłałem zamówienie - czy nie wyśle e-maila do prawdziwego klienta?
kojiro
Jedynymi innymi elementami, które wymagają zmiany, są informacje rejestracyjne modułu strony trzeciej, jeśli korzystasz z kluczy przypisanych do domeny, a nie tylko kluczy aktywacyjnych. Podaję również adresy e-mail, więc transakcja zamówienia testowego trafia na konto testowe zamiast do działu zamówień. Podczas pierwszego uruchomienia potrzebne są bezpieczne i niezabezpieczone baseUrls. Jeśli planujesz robić to często, spakuj wszystko do pliku SQL i zaimportuj po importowaniu bazy danych magento.
Fiasco Labs
@kojiro - Nie, jeśli skonfigurujesz kilka kont testowych. Porozmawiaj z administratorem poczty e-mail w swojej firmie, poproś o skonfigurowanie kilku aliasów e-mail.
Fiasco Labs
@FiascoLabs Jestem zdezorientowany. W tym scenariuszu właśnie zaimportowałem produkcyjną bazę danych Magento z prawdziwymi klientami. Jeśli przetwarzam prawdziwe zamówienie z prawdziwym klientem, co dobrego zrobią aliasy e-mail?
kojiro
@kojiro masz rację, po zaimportowaniu zestawu danych z produkcji musisz wyczyścić / zaktualizować informacje o klientach / poufne informacje. To nie jest dobra odpowiedź, ponieważ nie rozwiązuje poprawnie sytuacji.
beeplogic
0
Wypróbuj to, będzie szyfrować wiadomości e-mail użytkowników, aby pomóc w rozwiązaniu problemu z przypadkowym wysłaniem wiadomości e-mail do klientów z testowanego środowiska
UPDATE customer_entity SET email = REPLACE(email,'@','-test@abcxyz123-')
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
Następnie uruchom import mysql do nowej bazy danych.
Bez skryptu wyglądałaby bardzo podstawowa wersja.
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.
źródło
Jedną z opcji problemu z pocztą e-mail jest skonfigurowanie witryny programistycznej do przekierowywania WSZYSTKICH wiadomości e-mail do Ciebie. Dodaje trochę spokoju.
Jak to zrobisz, zależy od twojego środowiska - dla nas dodanie tego do vhosta wykonuje zadanie:
źródło
Nic. Wystarczy zmienić bezpieczne i niezabezpieczone adresy URL.
Możesz także pominąć
log_*
dane tabel, aby zrzut był lżejszy.źródło
Wypróbuj to, będzie szyfrować wiadomości e-mail użytkowników, aby pomóc w rozwiązaniu problemu z przypadkowym wysłaniem wiadomości e-mail do klientów z testowanego środowiska
źródło