Press "Enter" to skip to content

Szybki import produktów z PrestaShop 1.6 do PrestaShop 1.7

Admin 0

Na czym to polega?

Istnieje sposób stosunkowo szybkiego i efektywnego importu produtków ze sklepu PrestaShop 1.6 do PrestaShop 1.7. Chodzi tutaj o postawowe wypełnienie tabel po stronie MySQL. A dokłądnie kopiowanie danych pomiędzy tabelami.

Przykład pokazuje jak to zrobić w sklepie PrestaShop 1.7 w który mnie ma żadnego asortymentu i jest on wyczyszczony przez moduł pscleaner. W tym celu zainstaluj ten właśnie moduł w instalacji PrestaShop 1.7 (znajduje się on w Katalogu Modułów i jest darmowy). Za jego pomocą możesz usunąć dane testowe ze sklepu. Uwaga! Jeśli w sklepie są dane produktów lub kategorie – zostaną one bezpowrotnie utracone (o ile nie wykonasz kopii bezpieczeństwa). Pamietaj, że moduł także usuwa zdjęcia produktów. Dlatego nasz artykuł jest dedykowany do wykonywania importu na “czystej” instalacji PrestaShop 1.7

Oczywiście nasz import to nie jest złoty środek na przeniesienie asortymentu ze sklepu A do sklepu B. Pozwala zaoszczędzić czas, jednak wiele danych należy potem pouzupełniać ręcznie. Jak atrybuty, cechy, reguły podatkowe itp. Warto podkreślić, że pokazany tutaj sposób jest niezwykle skuteczny nawet przy gigantycznej ilości produktów (kilkaset tysięcy produktów i więcej), bo zapytania po stronie MySQL są niezwykle efektywne i znacznie szybsze niż klasyczny import za pomocą plików CSV.

Postawowe informacje.

Wersja silinika 1.7:  PrestaShop 1.7.5.0
Wersja silnika 1.6: PrestaShop 1.6.1.18

Jest to o tyle ważne, że poszczególne wersje np. w gałęzi 1.6 mogą się różnić nazwami i liczbą kolumn. Nalezy wówczas nasze zapytania odpowiednio skorygować.

Prefix w tabeli PrestaShop 1.7:   pr_
Prefix w tabeli PrestaShop 1.6:   bg_

Jeśli masz inne prefixy – odpowiednio zmodyfikuj nasze zapytania.

Uwaga! Tabele w bazach danych dla poszczególnych wersji sklepu nie mogą mieć identycznych prefixów. Należy przed przystąpieniem do prac je zmienić. Więcej informacji jak hurtowo zmienic prefixy: https://stackoverflow.com/questions/2466101/how-i-can-change-prefixes-in-all-tables-in-my-mysql-db  albo https://richjenks.com/change-mysql-database-table-prefix/

Jak zacząć?

Po pierwsze primo: Wykonaj kopię bezpieczeństwa bazy danych.

Musisz mieć też dostęp najlepiej do PhpMyAdmin serwera gdzie jest ulokowany sklep. Realizacja zapytań będzie dużo łatwiejsza. Następnie do bazy danych sklepu 1.7 wgrywasz dump bazy danych (np. tą z działu Zaawansowane -> Kopia bezpieczeństwa) sklepu 1.6 poprzez zakładkę Import w menu PhpMyAdmin

Następnie realizujesz zapytania wg kolejności. Oczywiście muszą one uwzględniać Twoje prefixy tabel dla obu wersji sklepów.

Zapytania są realizowane w zakładce SQL w programie PhpMyAdmin albo bezpośrednio w linii komend MySQL (konsola Linux).

Import tabeli produktowej:

Import tabeli produktowej z multistore:

Import tabeli produktowej – językowej:

Zapytania czyszczące:

Import zdjęć.

Przy okazji poniższego zapytania należy przenieść folder z instalacji PrestaShop 1.6

w to samo miejsce w instalacji 1.7

I to w zasadzie tyle. Po wykonaniu powyższych zapytań w zakłądce Katalog -> Produkty powinny pojawić się identyczna lista produktów jak w sklepie o starszej wersji.

Daj znać czy Ci to pomogło!

grafika: nicepik.com

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Zobacz także !
Jak poradzić sobie z niedziałającym tłumaczeniem niektórych modułów w zakupionym…