Press "Enter" to skip to content

Problem z modułem do akutalizacji PrestaShop 1.6 – Błąd podczas aktualizacji bazy danych. Może trzeba przywrócić bazę danych.

Admin 1

W jakim środowisku występuje błąd?

Błąd występuje podczas aktualizacji sklepu PrestaShop w wersji 1.6.X (u nas dokładnie 1.6.1.20) do najnowszej wersji w tej gałęzi. Obecnie jest to: 1.6.1.24

Wersja modułu do aktualizacji to: v4.13.0:

Należy zaznaczyć, że moduł ten został zakualizowany z wersji V1.6.8 do najnowszej, czyli v4.13.0: jak napisano wyżej. I to ta wersja modułu „Aktualizacja 1 kliknięciem” jest odpowiedzialna za bląd opisywany w tym artykule.

Objawy problemu

Podczas procesu aktualizacji nie wiadomo skąd pojawia się następujący komunikat:

Do you want to restore V1.6.20.xxx

 

Kompletnie ubija to aktualizację oprogramowania i może wręcz uszkodzić sklep 🙁

Komunikat w logu:

Rozwiązanie – naprawienie aktualizacji PrestaShop do wersji 1.6.1.24

Jak wybrnąć z tego problemu?

Przede wszystkim należy najpierw przywrócić starą wersję plików i bazy sklepu. Zasięgnij pomocy u administratora serwera.

Kolejnym krokiem jest usunięcie obecnego modułu: „Aktualizacja 1 kliknięciem”

W naszym przypadku (jak napisano wyżej) miał on wersję: V1.6.8


Z menu widocznego na screenie wybieramy opcję „Odinstaluj”

Następnie wgrywamy moduł w wersji v4.12.0. Moduł można pobrać stąd:

autoupgrade.zip [suma MD5: 68b92eeb281b1de4622b0522ea3e74a4]

Plik zip instalujemy jak każdy inny moduł w dziale moduły:

 

UWAGA! Ważne aby nie aktualizować modułu po jego zainstalowaniu. Będziemy wtedy w punkcie wyjścia 🙂

Następnym krokiem jest wybranie z zaznaczonego przycisku opcji „Wyczyść” i zresetowanie modułu:

Następnie wchodzimy opcję „Konfiguruj” pod tym samym przyciskiem i otwieramy konfigurację modułu.

Ustawiamy moduł wg własnych wymagań. Dobrze jest wyłączyć tworzenie kopii bezpieczenstwa plików i bazy (z założenia i tak je posiadamy):

W tym momencie – aktualizacja powinna przebiec prawidłowo.

Usunięcie ewentualnej blokady akutalizacji.

W niektórych instalacjach PrestaShop możesz natrafić na blokadę aktualizacji skryptu w zwiazku z tym, że sam moduł „Aktualizacja 1 kliknięciem” jest nieaktualny:

Można to na szczęście łatwo obejść 🙂

Otwórz plik:

modules/autoupgrade/classes/UpgradeSelfCheck.php

Znajdź funkcję:

public function isModuleVersionLatest()
{
    if (null !== $this->moduleVersionIsLatest) {
        return $this->moduleVersionIsLatest;
    }
    
    return $this->moduleVersionIsLatest = $this->checkModuleVersionIsLastest($this->upgrader);
}

I w jej wnętrzu dopisz zwracanie TRUE:

public function isModuleVersionLatest()
{
    if (null !== $this->moduleVersionIsLatest) {
        return $this->moduleVersionIsLatest;
    }
    
    return true;

    return $this->moduleVersionIsLatest = $this->checkModuleVersionIsLastest($this->upgrader);
}

Alternatywny sposób rozwiązania tego problemu

Jeśli Twoje wysiłki spełzły na niczym rozważ wykonanie akutalizacji na innym serwerze. Prawdopodobnie Twój serwer ma włączony tryb strict mode w MySQL i błędy mogą wystąpić czy akualizacji bazy danych. Są różne sposoby aby wyłaczyć ten tryb, jednak jest to dość pracochłonne. Chyba łatwiej po prostu przenieść instalację na mniej nadgorliwy serwer i tam po prostu zakutalizować PrestaShop.

Więcej informacji na temat wyłączenie trybu strict mode w MySQL:

Wyłączenie trybu strict mode w MySQL poprzez zapytanie


grafika:alphacoders.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 !
Jeden z kilku patentów na uporanie się z systemem tłumaczeń…