Press "Enter" to skip to content

Błąd krytyczny podczas akutalizacji PrestaShop 1.7 – Data truncated for column 'customer_name’

Admin 0

Opis problemu

Jeśli wykonujesz aktualizację sklepu PrestaShop za pośrednictwem modułu Aktualizacja 1-Kliknięciem – 1-Click Upgrade możesz natknąć się na enigmatyczny problem. Objawia się on błędem krytycznym, który jest sygnalizowany przez komunikat w logu zdarzeń:

) NOT NULL, CHANGE customer_name customer_name VARCHAR(64) NOT NULL, CHANGE
grade grade INT NOT NULL':
SQLSTATE[01000]: Warning: 1265 Data truncated for column 'customer_name' at
row 3
In PDOConnection.php line 90:
SQLSTATE[01000]: Warning: 1265 Data truncated for column 'customer_name' at
row 3
In PDOConnection.php line 88:
SQLSTATE[01000]: Warning: 1265 Data truncated for column 'customer_name' at
row 3
prestashop:schema:update-without-foreign [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--id_shop [ID_SHOP]] [--id_shop_group [ID_SHOP_GROUP]] [--] 

Error during database upgrade. You may need to restore your database.
Error upgrading Doctrine schema

Następnie wyświetlany jest komunikat o potrzebie / możliwości wykonania przywrócenia kopii bezpieczeństwa:

Niestety skutkuje to uszkodzeniem sklepu i konieczne jest przywrócenie stanu z przed aktualizacji.

UWAGA! Samodzielne wykonywanie akualizacji sklepu pociąga za sobą przykre konsekwencje jak opisane powyżej. Twój sklep do momentu przywrócenia kopii bezpieczeństwa jest nieczynny. Tracisz klientów i nowe zamówienia. Tracisz także reputację. Rozważ powierzenie takiego zadania specjalistom. Ceny podane za takie zlecenie są orientacyjne. Zapraszamy do kontaktu i indywidualnej wyceny:

Przyczyna problemu

Pytanie czy można sobie poradzić z tym błędem. Jak się okazuje – tak. Problematyczny okazuje się moduł (co ciekawe autorstwa PrestaShop):

Komentarze produktu (productcomments)

Recepta

Aby wykonać taką akutalizację bez problemów wykonaj następujące czynności:

  1. Przywróć sklep do stanu z przed Twoich czynności. Najlepiej zgłoś sie do administratora Twojego serwera w tej sprawie.

    UWAGA! Przywrócenie dotyczy zarówno bazy danych jak i plików! Taką dyspozycję zleć adminowi.

  2. Przed rozpoczęciem akutalizacji znajdź ww. moduł Komentarze produktu i go usuń wraz z odinstalowaniem. Czyli znajdź go na liście i użyj przycisku „Odinstaluj” następnie potwierdź to okno:

    UWAGA! Jeśli zależy Ci na danych zawartych w tym module – najpierw przeczytaj poradnik na końcu tego artykułu.

  3. Wykonaj aktualizację. Teraz powinna ona juz przebiegnąć prawidłowo (przynajmniej ww. błąd już nie wystąpi)
  4. Ciesz się nową wersją sklepu PrestaShop 😉

Chcę zatrzymać stare komentarze do produków w nowej wersji sklepu – jak to zrobić?

1) W tym celu przed wykonaniem aktualizacji i usunięciem modułu Komentarze produktu zaloguj się do narzędzia PhpMyAdmin na Twoim serwerze.

Jak ustalić link do PMA na serwerze przedstawialiśmy np. w tym artykule:

naprawa błędu „zakresy nachodzą na siebie” w Presta Shop

2) Zaznacz tabele widoczne na screenie:

3) Na dole listy tabel wybierz EXPORT następnie w secji eksprotu w PhpMyAdmin zaznacz jedynie dane (DATA) dla tych tabel (bez struktury – STRUCTURE):

4) Pobierz plik SQL.

5) Wykonaj akutalizację sklepu opisaną w poprzedniej sekcji tego artykułu (wraz z usunięciem modułu Komentarze produktu )

6) Na nowej wersji sklepu (już po akutalizacji) zainstaluj z Katalogu Modułów moduł Komentarze produktu. Co oczywiste będzie on pusty – pozbawiony wcześniej dodanych komentarzy.

7) Zaloguj się do PhpMyAdmin i wgraj plik SQL.

Oczywiście jeśli zminieniła się struktura w nowej wersji modułu dane mogą wymagać modyfikacji. Wtedy przed pobraniem pliku SQL (pkt. 4) zaznacz także strukturę do pobrania. Na testowej tabeli odp. dostosuj strukturę tabel do nowej wersji modułu Komentarze produktu i wgraj plik z danymi (DATA) ponownie. Ale to mało prawdopodobne.

8) Jeśli masz szczęście – stare komentarze powinny być widoczne 😉

Powodzenia !

grafika: wallpaperup.com

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Zobacz także !
Jak wgrać w PrestaShop pliki DOC, DOCX ?