Jak wdrożyć zmiany DB od dewelopera do produkcji w Magento

9

Wiem, że moduły mają skrypty instalacyjne i konfiguracyjne danych, dzięki którym DB jest przenośny od dewelopera do produkcji.

Ale w naszym przypadku mamy programistów interfejsu użytkownika, którzy dodają atrybuty i produkty za pośrednictwem interfejsu administratora, który jest przechowywany w bazie danych programowania.

W dniu premiery nie możemy powtórzyć wszystkich kroków, które zrobiliśmy w środowisku deweloperów, ponieważ będzie to zbyt żmudne i czasochłonne.

Czy istnieje sposób obsługi takich zmian DB podczas wdrażania.

Na razie wykonujemy różnicę między dev DB i prod DB i generujemy SQL, który uruchamia się w dniu premiery. Jest to jednak trochę niebezpieczne, ponieważ dev DB może zawierać testowe dane transakcyjne i możemy zablokować tabele transakcyjne w prod, jeśli nasz SQL ma jakieś instrukcje modyfikujące tabele transakcyjne.

Czy istnieje wokół tego najlepsza praktyka? Z góry dziękuję za pomoc

Jeetendra Pujari
źródło

Odpowiedzi:

8

Istnieją różne rozszerzenia do migrowania danych między środowiskami, ale korzystanie z nich jest strzałem w dziesiątkę. Na pewno nie chcesz spieprzyć środowiska produkcyjnego, jeśli coś pójdzie nie tak.

Jedynym właściwym sposobem migracji danych jest użycie skryptów instalacyjnych.

Umożliwi to także tworzenie nowych środowisk (na przykład dla nowych ryb w zespole), które będą na bieżąco z aktualnym stanem rzeczy.

Przy okazji, dobre pytanie.

użytkownik487772
źródło
Osobiście przekonałem się, że niektóre moduły Magento Connect nie zawsze są w pełni kompatybilne pod względem uruchamiania skryptów instalacyjnych od zera. Nadal muszę dokładnie ustalić, co się stało, ale konfiguracja naszego sklepu jest w takim stanie, że zaczynając od pustej bazy danych, skrypty instalacyjne są ze sobą w konflikcie i sklep nie może załadować pustej bazy danych. Aby zacząć od nowa, musielibyśmy kolejno nakładać moduły. Lub napraw błędy w oprogramowaniu, którego nie napisaliśmy.
nbering
Jak wprowadzić zmiany w skrypcie wprowadzone z panelu administracyjnego Magento? Na przykład: dodać atrybuty i produkty lub zmienić konfigurację rozszerzenia?
Andrea,
1
@Andrea po prostu nie wprowadzasz zmian w panelu administracyjnym Magento. Wszystko za pomocą skryptów instalacyjnych. Oczywiście w niektórych przypadkach, jeśli chcesz spróbować czegoś, nie jesteś jeszcze pewien, że ostatecznie zmienisz coś w adminie, ale w tym przypadku zmiany te muszą zostać cofnięte i ponownie zastosowane za pomocą skryptu instalacyjnego.
user487772,
Jako FYI. W przypadku większości zmian korzystaliśmy ze skryptów instalacyjnych. Na szczęście nasz programista interfejsu użytkownika nie miał nic przeciwko robieniu skryptów instalacyjnych, gdy tylko go zrozumiał. Możesz także utworzyć zgłoszenie do utworzenia nowego skryptu instalacyjnego i przypisać go do programistów. Mamy również zespół marketingowy, który korzysta z funkcji CMS Magento. Zamiast dokonywać tych zmian w środowisku deweloperskim, poprosiliśmy ich o bezpośrednie wprowadzenie zmian w produkcji. Dodaliśmy rolę CMS, która zapewniłaby im dostęp tylko do funkcji CMS. Następnie od czasu do czasu publikujemy zmiany CMS z Prod na Stage, a następnie QA i Dev przy użyciu niestandardowego skryptu.
Jeetendra Pujari 30.09.16