Si cuando importas una web de PrestaShop al Staging te da error 500 y habilitas el modo debug y ves un error como este:
[PrestaShopDatabaseException]
Table '_shop_url' doesn't exist<br /><br /><pre>SELECT s.id_shop
Esto significa que la tabla de PrestaShop donde se configura las urls de la tienda no se puede importar porque contiene algún tipo de error.
Deberás revisar la tabla ps_shop_url en tu PrestaShop de origen, exportarla desde PhpMyAdmin (solo esa tabla) y ver por qué da error.
En este ejemplo, al exportar la tabla y cambiar las urls por las urls del servidor de staging (xxxx.n01.pruebas.cloud) e intentar importarlas en el servidor de staging, vemos el error siguiente:
Error al ejecutar consulta (1273): Unknown collation: 'utf8mb4_0900_ai_ci'
El charset en este caso "utf8mb4_0900_ai_ci" no se reconoce.
Modificaremos el archivo sql exportado desde el servidor en producción para corregir el charset.
De esta forma, lo dejaremos de la siguiente manera:
Sustituiremos la línea siguiente:
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
por esta:
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Para que en futuras importaciones de la tienda al staging, no tengas que hacer esta operación de forma manual, deberás revisar que las tablas que tengas en la tienda en producción, tengan todas el cotejamiento "utf8mb4_unicode_ci"
Si tienes algunas tablas con "utf8mb4_0900_ai_ci", lo mejor es cambiarlas:
NOTA: Si cambias todas las tablas de "utf8mb4_0900_ai_ci" a "utf8mb4_unicode_ci" en el PhpMyAdmin de la web en producción, deberías poder importar la tienda en el staging sin errores.
Cambiar el cotejamiento de todas las tablas de "utf8mb4_0900_ai_ci" a "utf8mb4_unicode_ci" en tu base de datos
Para cambiar todas el cotejamiento de todas las tablas a "utf8mb4_unicode_ci", debes hacerlo de la siguiente forma:
1) Pincha en la columna de la izquierda en el nombre de la base de datos.
2) Ve a la pestaña "Operaciones".
3) Selecciona la opción "utf8mb4_unicode_ci" del desplegable.
4) Marca las 2 opciones que aparecerán debajo:
- Modificar el cotejamiento de todas las tablas
- Cambiar la intercalación de todas las columnas de las tablas
5) Pincha en el botón "Continuar" y espera que termine el proceso. Verás un mensaje de OK en el centro de tu pantalla.
Ahora ya deberías poder importar correctamente el sitio web al staging.
En el caso de que vayas al staging y el sitio no aparezca para poder importarlo, sigue esta otra FAQ.