Migración y actualización de Prestashop 1.4 a 1.7

Actualización de Prestashop 1.4 a 1.7

Hoy os queremos exponer un caso que, aunque no es habitual seguir viendo la versión de Prestashop 1.4 en las tiendas online, nos ha llegado recientemente un cliente con la necesidad de una actualización a 1.7. Si tienes una tienda en esta versión antigua y necesitas dar el salto, ¡este artículo es para ti! Te vamos a contar todas las claves de este procedimiento.

Si estás buscando alguien para actualizar tu Prestashop, te aconsejamos que te saltes todo este artículo y contactes directamente con nuestro equipo de mantenimiento web para que te ayude a poner tu tienda online a punto.

Pero, si quieres intentar hacerlo por tu cuenta, siéntate y prepárate para conocer todos los pasos.

¿Cómo actualizar un Prestashop 1.4 a 1.7?

Lo primero que debes de saber es que Prestashop tiene un módulo para actualizar tanto los updates (correcciones y mejoras de la versión) como upgrades (nuevas versiones) de una tienda online.

Debido a que, en este caso, tenemos una versión tan antigua y podría estar infectada o con alguna mala práctica de desarrollo, lo primero que hacemos es encontrar la versión de la tienda y descargar una nueva instancia conectandola a la base de datos de Prestashop del proyecto.

En esta versión de Prestashop 1.4, el propio módulo de Click Upgrade impide la actualización, ya que no reconoce que está al día. Os contamos como solucionar este problema.

Actualización de Prestashop 1.4 a 1.7

Debemos editar el código, porque necesitamos que reconozca que estamos en la última versión del módulo Click Upgrade para la versión Prestashop 1.4. Para hacerlo modificamos la línea 562 del fichero AdminSelfUpgrade.php:

Actualización de Prestashop 1.4 a 1.7

Como veréis coloco la misma versión por la que me salta la alerta (en este caso sería «0.7»).

Otro de los problemas encontrados, es cuando lanzamos la actualización. Este módulo no permite, como en otras versiones, omitir los backups. Es obligatorio, lo cual en tiendas con gran volumen de productos podría ser un grave problema de tiempo. Como es nuestro caso donde tardaba demasiado la actualización y nunca llegaba a procesarse.

Para solventar este problema se modificó la función para evitar dicha copia, ya que nosotros tenemos la copia original.

Si tenéis algún error durante el proceso podéis encontrar la forma de activar un debug en todas las versiones de Prestashop en el foro oficial.

Una vez dicho esto nuestro siguiente paso es buscar la línea 3210 del fichero AdminSelfUpgrade.php y donde colocaremos un estado de conformidad para evitar realizar la copia de seguridad.

$this->stepDone = true;

$this->next = ‘backup’;

$this->next_desc = ‘All files saved. Now backup Database’;

return true;

Cambiamos esta línea para evitar la copia.

Actualización de Prestashop 1.4 a 1.7

Una vez llegado a este punto lanzamos la actualización y finalmente se procesa de forma correcta.

Actualización de Prestashop 1.4 a 1.7

El siguiente paso es descargar la versión 1.5.3 desde la web oficial y lanzamos la actualización de la versión Prestashop 1.5 a Prestashop 1.5.3.

Actualización de Prestashop 1.4 a 1.7

Como veréis esta actualización la marcamos desde el canal local, eligiendo el archivo subido previamente al directorio autoupgrade\download.

Actualización de Prestashop 1.4 a 1.7

Una vez guardado todo y llegados a este punto lanzamos este Update.

Actualización de Prestashop 1.4 a 1.7
Actualización de Prestashop 1.4 a 1.7

¡Hemos llegado a la versión Prestashop 1.5.3!

Actualizar tiendas online Prestashop

Ahora debemos activar compatibilidad con fotos antiguas. ¡Atento! Porque este punto es importante para poder intercambiar las fotos de nuestros productos al nuevo formato de fotografías establecido a partir de esta versión de Prestashop.

Actualización de Prestashop 1.4 a 1.7

En las actualizaciones de Prestashop siempre nos hemos visto obligados a pasar por cada mínima actualización antes de llegar al Upgrade de Prestashop 1.7 final.

En esta ocasión, con la versión 1.5.3 instalada en la tienda online, tenemos que actualizar a la versión 1.5.6.3.

Actualización de Prestashop 1.4 a 1.7

Como vemos abajo, nuestro cliente no pasaba la validación y tuvimos que modificar, nuevamente, el código del módulo para reconocer la versión 1.6.8 del módulo Click Upgrade.

Actualización de Prestashop 1.4 a 1.7

Para ello, necesitamos buscar la variable module_version_ok y ponemos 1.6.8 que es la versión del plugin que viene en esta versión de Prestashop.

Actualización de Prestashop 1.4 a 1.7

Lanzamos upgrade sin copia ya que lo tenemos todo previamente guardado. Es recomendable siempre tener nuestra copia propia antes de hacer cada update, nos ahorra tiempo y algún susto en caso de fallo.

Ahora vamos a imágenes y movemos las imágenes de productos y categorías al nuevo formato de Prestashop.

Actualización de Prestashop 1.4 a 1.7

Una vez movidas las fotos ya podremos activar nuestra tienda. Quitaremos el sistema de mantenimiento y comprobaremos que las fotografías están correctamente guardadas en nuestra nueva estructura de archivos.

Actualización de Prestashop 1.4 a 1.7

Ahora descargamos la versión 1.6.1.15 y la subimos a la carpeta update, para nuevamente hacer un update mínimo desde un archivo local.

Actualización de Prestashop 1.4 a 1.7

Como hemos activado la tienda para verificar las fotos, ponemos nuevamente nuestro Prestashop en mantenimiento, y entramos en el módulo Click Upgrade, elegimos “Archivo local”.

Actualización de Prestashop 1.4 a 1.7

Guardamos y la damos a Upgrade PrestaShop Now.

Actualización de Prestashop 1.4 a 1.7
Actualización de Prestashop 1.4 a 1.7

En este punto hemos podido encontrar como la web contaba con la modificación de las tablas oficiales, y por ello nos ha dado un Warning.

Upgrade complete, but warning notifications has been found.

SQL 1.6.1.0 1072 in ALTER TABLE `cart_rule` ADD KEY `id_customer_2` (`id_customer`,`active`,`highlight`,`date_to`): Key column ‘highlight’ doesn’t exist in table

SQL 1.6.1.0 1072 in ALTER TABLE `cart_rule` ADD KEY `group_restriction_2` (`group_restriction`,`active`,`highlight`,`date_to`): Key column ‘highlight’ doesn’t exist in table

Alerta detectada durante la actualización.

Para solucionarlo borramos los campos personalizados y lanzamos el alter table que me muestra directamente por base de datos, de forma que la estructura de Prestashop 1.6 sea la original.

¡Perfecto! Ya hemos conseguido dar dos saltos de versiones, vamos a la versión definitiva para este año 2022.

Actualización de Prestashop 1.4 a 1.7

Al llegar a esta versión no es todo perfecto. Al intentar entrar encontramos errores de un par de módulos, gamificación y skrill, os muestro pantalla del error:

“Parse error: Syntas error, unexpected ‘.’, expecting ‘, or ‘;’

Actualización de Prestashop 1.4 a 1.7
Actualización de Prestashop 1.4 a 1.7

Prestashop 1.6 ya soporta PHP 7.1. Como teníamos la versión PHP 5.4 para todo el proceso debemos cambiar esta versión de PHP. Os dejamos las versiones compatibles de PHP versus la versión de Prestashop.

Actualización de Prestashop 1.4 a 1.7

Al cambiar la versión de PHP, desaparecen los Warning, y nos permite entrar para nuevamente lanzar el upgrade a través del módulo “Actualización en 1-Clic”.

Actualización de Prestashop 1.4 a 1.7

Elegimos menor actualización y versión 1.6.1.24, para realizar las actualizaciones de pequeña escala.

Actualización de Prestashop 1.4 a 1.7

Y como podemos ver recibimos el Update Successful.

Actualización de Prestashop 1.4 a 1.7

Ya desde la esta versión Prestashop 1.6.24 pasamos a la 1.7.8.4 que será la última versión Prestashop, hasta el momento de redactar el procedimiento.

Actualización de Prestashop 1.4 a 1.7
Actualización de Prestashop 1.4 a 1.7

El proceso de llegar a la versión 1.7.8.4 se realiza correctamente, y ya tenemos nuestro Prestashop con todos los datos migrados y las fotografías adaptadas.

Actualización de Prestashop 1.4 a 1.7

Al entrar es posible encontrar errores de módulos como “ShopImporter” “ClassNotFoundException”. No te preocupes, es debido nuevamente a que necesitamos cambiar la versión de PHP 7.1 a la versión 7.4.

Actualización de Prestashop 1.4 a 1.7

Ahora podemos entrar a módulos, poner todas nuestras funcionalidades al día, comenzar con la creación de nuestro Theme de Prestashop. Y poner nuestra tienda en producción.

Actualización de Prestashop 1.4 a 1.7

Esperamos haberte ayudado a completar este proceso. ¡Déjanos insistirte! Si necesitas ayuda para actualizar tu Prestashop, anímate a contactar con nuestro equipo de mantenimiento de tiendas online. Valora nuestro presupuesto sin compromiso. Ya ayudamos a muchas tiendas online a mantenerse actualizadas, ¿te vas a quedar atrás?

Actualizar Prestashop

OTRAS NOTICIAS SOBRE Prestashop