🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Errores comunes al migrar bases de datos en PrestaShop

Actualizado el 30 de noviembre de 2025

Migrar una tienda PrestaShop a un nuevo servidor o a una nueva base de datos puede parecer una tarea sencilla, pero la realidad es que es uno de los procesos más delicados. Un solo error en la migración de la base de datos puede dejarte la tienda caída, con errores 500, productos desaparecidos o problemas de conexión.

Como técnico de soporte, he visto cientos de casos donde estos fallos se repiten. Por eso, he preparado esta guía con los errores más comunes y, lo más importante, las soluciones prácticas para que puedas hacer la migración sin sustos.

Vamos a ello.


Error 1: No hacer una copia de seguridad completa y verificada

Este es, sin duda, el error más grave y el que más dolores de cabeza causa. Muchos usuarios se lanzan a migrar confiando en que todo irá bien, o hacen una copia de seguridad del archivo SQL pero olvidan los archivos del servidor (carpeta img, modules, themes, etc.).

¿Cómo solucionarlo?

Siempre, antes de tocar nada, debes tener dos copias de seguridad:

  1. Copia de la base de datos: Desde phpMyAdmin o la herramienta que uses, exporta la base de datos completa en formato SQL. Asegúrate de marcar la opción "Agregar DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT" y "Agregar CREATE DATABASE / USE".
  2. Copia de los archivos: Descarga toda la carpeta raíz de tu PrestaShop (normalmente public_html o www) mediante FTP o el gestor de archivos de tu hosting.

[TIP] Guarda siempre la copia en tu ordenador y en un servicio de nube (Google Drive, Dropbox). Nunca confíes solo en la copia del servidor.


Error 2: Ignorar la versión de PHP y MySQL/MariaDB

PrestaShop es muy sensible a las versiones de PHP y del motor de base de datos. Si migras a un servidor con una versión de PHP inferior a la que usabas, o con una versión de MySQL incompatible, la tienda no arrancará.

Síntomas comunes

  • Pantalla en blanco (error 500).
  • Errores de tipo "Fatal error: Uncaught Error".
  • Problemas al instalar módulos o temas.

Soluciones

  1. Verifica los requisitos de tu PrestaShop. Cada versión (1.6, 1.7, 8.x) tiene unos requisitos mínimos. Consulta la documentación oficial.
  2. Antes de migrar, configura el nuevo servidor con la misma versión de PHP (o una superior compatible) y la misma versión de MySQL/MariaDB.
  3. Si usas Syspanel (accesible por puerto 2106), puedes cambiar la versión de PHP desde el panel de administración en "Ajustes del sitio" > "PHP". Es muy intuitivo.

[WARNING] No migres nunca a una versión de PHP muy superior sin antes comprobar la compatibilidad de tus módulos y temas. Un salto de PHP 7.4 a PHP 8.2 puede romper muchas cosas.


Error 3: No ajustar los prefijos de las tablas en el archivo de configuración

Este es un clásico. Exportas la base de datos del servidor antiguo, la importas en el nuevo, y al abrir la tienda te sale el error: "El motor de base de datos no se encuentra" o "Tabla 'ps_shop_url' no existe".

Esto ocurre porque el archivo app/config/parameters.php (en PrestaShop 1.7 y 8.x) o config/settings.inc.php (en PrestaShop 1.6) contiene el prefijo de las tablas (por defecto ps_). Si en tu nueva base de datos el prefijo es diferente (por ejemplo, prestashop_), la conexión falla.

¿Cómo solucionarlo?

  1. Abre el archivo de configuración correspondiente.
  2. Busca la línea que dice 'database_prefix' => 'ps_' (o el prefijo que tengas).
  3. Cámbialo por el prefijo que tenga tu base de datos importada. Si importaste tal cual la base de datos antigua, el prefijo debe ser el mismo que tenías antes.

[INFO] Si no recuerdas el prefijo, revisa el nombre de las tablas en tu base de datos. Si ves ps_product, ps_customer, etc., el prefijo es ps_.


Error 4: No cambiar la URL en la base de datos (problemas de rutas absolutas)

PrestaShop guarda la URL de la tienda en varias tablas de la base de datos ( ps_configuration, ps_shop_url, y también dentro de contenido HTML de productos y categorías).

Si migras de midominio.com a nuevodominio.com (o de una subcarpeta a la raíz), la tienda seguirá intentando cargar imágenes, enlaces y recursos desde la URL antigua.

Soluciones

  1. Actualiza la URL en la tabla ps_shop_url: Entra a phpMyAdmin, busca la tabla ps_shop_url y edita el campo domain y domain_ssl con tu nuevo dominio.

  2. Actualiza la URL en ps_configuration: Busca las filas donde name sea PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL y cámbialas.

  3. Reemplaza URLs en contenido (productos, categorías, CMS): Esta es la parte más tediosa. Puedes hacerlo con una consulta SQL directa en phpMyAdmin. Ejemplo para cambiar midominio.com por nuevodominio.com:

    UPDATE ps_product_description SET description = REPLACE(description, 'midominio.com', 'nuevodominio.com');
    UPDATE ps_category_description SET description = REPLACE(description, 'midominio.com', 'nuevodominio.com');
    UPDATE ps_cms_content SET content = REPLACE(content, 'midominio.com', 'nuevodominio.com');
    

    Importante: Ajusta el prefijo ps_ al tuyo.


Error 5: Ignorar la codificación de caracteres (UTF-8)

Al importar un archivo SQL, si la codificación de la base de datos antigua y la nueva no coinciden, los caracteres especiales (acentos, eñes, símbolos) se mostrarán como signos raros (ñ, é, etc.).

¿Cómo prevenirlo?

  1. Al exportar la base de datos antigua, asegúrate de que la codificación sea utf8mb4_general_ci o utf8_general_ci.

  2. Al importar en la nueva base de datos, verifica que la base de datos destino tenga la misma codificación. Puedes cambiarla desde phpMyAdmin en la pestaña "Operaciones" > "Cotejamiento".

  3. Si ya importaste y ves caracteres rotos, puedes ejecutar una consulta para forzar la conversión:

    ALTER DATABASE nombre_de_tu_base CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    

Error 6: No regenerar el caché y los índices de PrestaShop

Después de migrar, PrestaShop sigue usando su caché anterior, que apunta a rutas antiguas o a datos que ya no son válidos. Esto provoca lentitud extrema, imágenes rotas o incluso errores de memoria.

Pasos para solucionarlo

  1. Limpia el caché manualmente: Ve a tu servidor FTP y elimina todo el contenido de la carpeta /var/cache/ (en PrestaShop 1.7+) o /cache/ (en PrestaShop 1.6).
  2. Regenera el archivo .htaccess: Ve al back office de PrestaShop > Parámetros de la tienda > Tráfico y SEO > URL. Desmarca y vuelve a marcar la opción "Usar URL amigables" y guarda. Esto regenera el archivo.
  3. Regenera los índices de la base de datos: Desde el back office, ve a Parámetros avanzados > Rendimiento. Haz clic en "Forzar compilación" y "Limpieza de caché".

Error 7: Olvidar los módulos y temas que dependen de rutas absolutas

Algunos módulos (especialmente los de importación, exportación o de galerías de imágenes) guardan rutas absolutas en sus propias tablas de la base de datos. Si solo cambias las tablas principales de PrestaShop, estos módulos seguirán fallando.

Solución

  1. Revisa los módulos críticos: Identifica aquellos módulos que manejan archivos (imágenes, PDF, CSV). Por ejemplo, módulos de blog, de importación masiva o de personalización de productos.
  2. Actualiza sus configuraciones: Entra a la configuración de cada módulo en el back office y vuelve a guardar las rutas o los archivos de configuración. En muchos casos, basta con desactivar y reactivar el módulo.
  3. Consulta la documentación del módulo: Si el problema persiste, busca en la ayuda del módulo cómo migrar sus datos.

Error 8: No desactivar el modo mantenimiento durante la migración

Si migras la base de datos mientras la tienda está activa, los pedidos, clientes y carritos que se generen durante el proceso se perderán o quedarán en un estado inconsistente.

¿Qué hacer?

  1. Activa el modo mantenimiento en la tienda antigua antes de empezar la migración. Ve a Parámetros de la tienda > General > Mantenimiento y actívalo con un mensaje personalizado.
  2. Realiza la migración de forma rápida y ordenada.
  3. Desactiva el modo mantenimiento en la nueva tienda solo cuando estés 100% seguro de que todo funciona correctamente.

Preguntas Frecuentes (FAQ)

¿Puedo migrar solo la base de datos y no los archivos?

No, a menos que los archivos (imágenes, temas, módulos) ya estén en el nuevo servidor. La base de datos contiene las referencias a esos archivos, pero no los archivos en sí.

¿Qué hago si después de la migración sale "Error 500"?

Revisa el error específico en el log de errores del servidor (normalmente en /var/log/ o en el panel de control). Los errores más comunes son por versión de PHP o por permisos de archivos. En Syspanel, puedes ver los logs desde "Registros del sitio".

¿Es necesario cambiar el puerto de la base de datos?

Por defecto, MySQL usa el puerto 3306. Si tu nuevo servidor usa otro puerto, deberás actualizarlo en el archivo de configuración (parameters.php o settings.inc.php).

¿Pierdo mis clientes y pedidos al migrar?

No, si la migración se hace correctamente y se exportan todas las tablas. Asegúrate de exportar la base de datos completa, no solo algunas tablas.

¿Necesito ayuda de un experto?

Si tu tienda tiene mucho tráfico o muchos módulos personalizados, siempre es recomendable contar con un desarrollador especializado en PrestaShop para que supervise la migración. Un error pequeño puede costarte ventas.


Conclusión

Migrar una base de datos de PrestaShop no tiene por qué ser una pesadilla si sigues estos pasos y evitas los errores comunes. La clave está en la planificación: copia de seguridad, verificación de versiones, ajuste de URLs y limpieza de caché.

Si te encuentras con un problema no listado aquí, recuerda que los foros de PrestaShop y la comunidad son un gran recurso. Y si usas Syspanel (acceso por puerto 2106), su soporte técnico suele ser muy rápido para ayudarte con la configuración del servidor.

¡Suerte con tu migración!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel