Actualizar manualmente Prestashop 1.6 a 1.7

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (4 votos, promedio: 4,75 de 5)
Cargando…

Actualizar manualmente Prestashop 1.6 a 1.7 no es tarea fácil. En este artículo describiré como lo ha logrado para una tienda online con 200 productos sin perder pedidos, clientes o el catálogo de productos.

Por qué actualizar Prestashop

En un artículo anterior ya me referí a los cambios que se habían producido en Prestashop a partir del lanzamiento de la versión 1.7. Quizá la mejor razón para actualizar de la versión 1.6 a la 1.7 sea el mantener nuestra tienda online con la tecnología más avanzada, dada cuenta de que el soporte para la versión 1.6 caducará en un tiempo.

Esto va a afectar tanto al core de Prestashop como a las plantillas y los módulos. De hecho, muchos desarrolladores ya se han puesto las pilas para ir evolucionando sus productos a la nueva versión.

La versión actual de Prestashop -a la hora de escribir esta entrada, la 1.7.2.4-, es bastante estable con respecto a las primeras versiones. No voy a hablar de las novedades de la versión 1.7 porque hay muchos artículos y muy buenos sobre las bondades de Prestashop 1.7.

Después de mucho leer en el blog de Prestashop, en el de mi buen amigo José Luis Torres y del indispensable Víctor Ródenas, cada uno de ellos me dieron ideas pero no llegaron a resolverme el problema por completo. Así que, me puse manos a la obra con lo que cada uno de ellos me aportaron e investigué por mi cuenta. Estos son los resultados.

Qué voy a perder actualizando Prestashop a la 1.7

Prestashop 1.7 abandona la tecnología Smarty para el desarrollo de plantillas, sustituyéndola por Symphony. Esto quiere decir que las plantillas desarrolladas para la versión 1.6 no funcionarán para la 1.7.

Asimismo, muchos de los módulos tampoco la harán.

Por tanto, la actualización requerirá una inversión en:

  • Una nueva plantilla
  • Nuevos módulos
  • Bastante tiempo y paciencia para hacer la actualización y reconfigurar la tienda

Pasos para actualizar Prestashop a la 1.7

Estos son los pasos que he ejecutado para realizar la migración.

Planificar la actualización

Antes de nada, debemos planificar cuidadosamente la actualización de nuestra tienda online. Ello supone contar con la plantilla y módulos necesarios para la versión 1.7 y, sobre todo, ver en qué días vamos a poder hacer la migración. Hay que tener en cuenta que, por desgracia, deberemos reconfigurar la tienda casi al completo, lo que nos llevará 2 o 3 días.

Copia de seguridad de nuestra tienda online

La primera tarea será realizar una copia de seguridad de nuestra tienda online, lo que supone hacer una copia de todas las carpetas y archivos, así como de la base de datos. Si en nuestro servidor disponemos de un panel de tipo Plesk o cPanel, esto no nos debería suponer ningún problema.

Ambas copias de seguridad, archivos y base de datos, las descargaremos a nuestro ordenador.

Crear una tienda Prestashop 1.7 en un servidor local

Lo más recomendable es preparar un servidor local para realizar la migración. Esto se puede hacer instalando WAMP (para Windows) o MAMP (para Mac OS).

Una vez tengamos preparado y configurado nuestro entorno local, vamos a instalar una versión de Prestashop 1.7 en nuestro servidor local, siguiendo las instrucciones del software de servidor local que hayamos elegido.

Lo haremos, por ejemplo, en http://localhost/17.

Para ello seguiremos los pasos que nos indica Prestashop hasta tener una tienda de pruebas totalmente configurada. Aunque nos lo pida, NO debemos eliminar la carpeta /install, una vez terminada la instalación, porque nos hará falta más tarde. En todo caso, la renombraremos, para que Prestashop nos deje acceder a la administración de la tienda.

Recrear nuestra tienda en Prestashop 1.6 en el servidor local

Ahora crearemos un nuevo servidor local, en donde instalaremos la copia de seguridad de nuestra tienda online, tanto de las carpetas y archivos como de la base de datos.

Con phpMyAdmin crearemos una base de datos vacía e importaremos la copia de seguridad de la base de datos. Una vez importada, en la tabla ps_shop_url, modificaremos el registro para adaptarlo a la nueva URL en local.

Por ejemplo, si nuestra tienda estaba en mitienda.com, en el servidor local habremos creado http://localhost/16 y en la tabla anteriormente mencionada, debemos cambiar el registro para que acceda a la nueva URL.

A continuación, modificaremos el archivo /config/settings.inc.php para cambiar los datos de acceso a la base de datos en el servidor local.

Por último, comprobaremos que nuestra tienda funciona correctamente en el servidor local.

Desinstalación de plantillas y módulos

Lo que explico a continuación es de gran importancia para que el proceso se desarrolle correctamente.

Con la tienda funcionando en local, procederemos a cambiar la plantilla por la que trae por defecto Prestashop 1.6, la default-bootstrap.

A continuación, procederemos a deshabilitar, desinstalar y eliminar los módulos que tengamos activos. Algunos módulos crean nuevas tablas en nuestra base de datos. Con un poco de paciencia, las debemos eliminar si es que el módulo no lo hace al eliminarlo.

En este momento deberíamos tener una base de datos bastante limpia como para hacer la migración.

Copia de las imágenes de la tienda antigua a la nueva

Procederemos a mover la carpeta /img de la instalación de nuestra tienda a la instalación de Prestashop 1.7, sobrescribiendo lo que haya en la carpeta de destino.

Cambiar y actualizar la base de datos

El siguiente paso es hacer que Prestashop 1.7 trabaje con la base de datos de nuestra tienda en Prestashop 1.6. Ello requiere de dos pasos:

  • Primero con figuraremos la instalación de Prestashop 1.7 para que lea la base de datos de la versión 1.6. En Prestashop 1.7 ya no se utiliza el fichero settings.inc.php para inicar con qué base de datos trabaja, sino que estos datos se encuentran en el archivo /app/config/parameters.php. Allí tendremos que introducir el nombre de nuestra base de datos de Prestashop 1.6, el usuario y la contraseña.
  • Luego tendremos que ejecutar la siguiente línea, siguiendo el ejemplo que he puesto anteriormente: http://localhost/17/install/upgrade/upgrade.php. Esto hará que la base de datos se adapte a la versión 1.7, creando nuevas tablas y campos.

Últimos pasos

A partir de este momento, tendremos una instalación de Prestashop 1.7 en la que conservamos todos los datos de nuestra tienda antigua. Si accedemos a la administración, encontraremos nuestro catálogo, nuestros clientes, los pedidos, las zonas que hayamos definido, impuestos, etc.

Ahora solo queda instalar y configurar la nueva plantilla y aquellos módulos que sean necesarios para el correcto funcionamiento.

Pruebas online

Es recomendable, antes de cambiar la tienda antigua por la nueva, crear un subdirectorio o un subdominio y llevar allí la tienda que hemos creado para una última prueba y configuración.

Si todo ha ido bien, solo tendremos que sustituir los archivos de la tienda antigua por los de la nueva y habremos terminado con la actualización.

Ahora, habrá que revisar que todo funciona correctamente e ir resolviendo los problemillas habituales de Prestashop.

Algunos trucos

Estos son algunos trucos adicionales que te pueden ayudar si te atascas.

  • Eliminar los archivos .htaccess tanto en el servidor local como cuando se suba la tienda al servidor de producción.
  • La base de datos regenerada para Prestashop 1.7 puede ser muy grande, por lo que es conveniente tener una forma alternativa para poder recrear la base de datos en el servidor de producción o hacerlo por partes.
  • Mientras estemos trabajando con la tienda para instalar plantillas y módulos, es preferible desconectar los cachés.

¡Suerte con la migración!

¿Quieres que te ayude a actualizar Prestashop?

 

Si te gusta, compártelo:

2 comentarios en “Actualizar manualmente Prestashop 1.6 a 1.7

  1. Hola. Estoy intentado lo que indicas aquí; pero tengo un problema para acceder a la administración de la tienda
    Después de copiar todos los archivos a local y modificar la URL en la base de datos, la tienda carga pero cuando intento acceder al backoffice no da entrado en la URL y me sale un error

    • Hola Marcos:

      Mira a ver si tienes algún fichero .htaccess en la carpeta de administración y bórralo. A ver si eso te ayuda.

      En cualquier caso, mira a ver si me puedes dar más datos del error que te sale.

Deja un comentario

Si continuas utilizando este sitio, aceptas el uso de las cookies. Más información

Las opciones de cookie en este sitio web están configuradas para "permitir cookies" para ofrecerte una mejor experiéncia de navegación. Si sigues utilizando este sitio web sin cambiar tus opciones o haces clic en "Aceptar" estarás consintiendo las cookies de este sitio.

Cerrar