Cómo revertir un módulo PrestaShop después de una mala actualización
Cuando las actualizaciones de módulos salen mal
Actualizaste un módulo PrestaShop y ahora algo está roto. Quizás el checkout dejó de funcionar, la página principal muestra errores, o el panel de administración dejó de responder. Las actualizaciones de módulos pueden fallar por muchas razones - versiones PHP incompatibles, conflictos con otros módulos, errores de migración de base de datos, o simplemente bugs en la nueva versión. Cualquiera sea la causa, necesitas revertir rápidamente para restaurar la funcionalidad de tu tienda.
Desafortunadamente, PrestaShop no incluye un botón "deshacer" integrado para actualizaciones de módulos. No hay historial de versiones nativo ni mecanismo de rollback automático para módulos individuales.
Antes de comenzar - Seguridad primero
- Pon tu tienda en modo mantenimiento
- Crea un respaldo de la base de datos
- Documenta el error actual
Método 1 - Reinstalar la versión anterior desde el Back Office
- Navega a Módulos > Gestor de módulos
- Encuentra el módulo problemático y haz clic en Desinstalar (NO "Eliminar")
- Haz clic en Subir un módulo
- Sube el ZIP de la versión anterior funcional
- Instala y configura el módulo
Dónde obtener la versión anterior
- Tu email - La mayoría de vendedores envían enlaces de descarga con cada compra
- Cuenta del marketplace - En PrestaShop Addons y marketplaces de terceros como mypresta.rocks, puedes descargar versiones anteriores del historial de pedidos
- Tus respaldos - Extrae la carpeta del módulo de un archivo de respaldo
- Contacta al desarrollador - Los desarrolladores pueden proporcionar versiones anteriores
Método 2 - Reemplazo de archivos vía FTP/SFTP
- Conéctate al servidor vía FTP/SFTP
- Navega a
/modules/ - Encuentra la carpeta del módulo
- Renombra la carpeta actual - ej.
mymoduleamymodule_roto - Sube los archivos de la versión anterior
- Establece permisos correctos - directorios a 755, archivos a 644
- Limpia la caché de PrestaShop
Método 3 - Desde la línea de comandos
# Conectar por SSH
ssh user@tuservidor.com
# Navegar a la raíz de PrestaShop
cd /var/www/html/prestashop
# Respaldar el módulo roto
mv modules/mymodule modules/mymodule_roto_$(date +%Y%m%d)
# Extraer la versión anterior
unzip /ruta/a/mymodule_v1.2.3.zip -d modules/
# Establecer permisos correctos
find modules/mymodule -type d -exec chmod 755 {} \;
find modules/mymodule -type f -exec chmod 644 {} \;
chown -R www-data:www-data modules/mymodule
# Limpiar caché
rm -rf var/cache/prod/* var/cache/dev/*Método 4 - Rollback completo de base de datos
Si la actualización del módulo incluía migraciones de base de datos, necesitarás restaurar un respaldo anterior.
Cuándo necesitas un rollback de base de datos
- El módulo creó nuevas tablas
- El módulo alteró estructuras de tablas existentes
- El módulo insertó o modificó valores de configuración
Método 5 - Limpieza manual de la base de datos
// Busca archivos como:
// modules/mymodule/upgrade/upgrade-2.0.0.php
public function upgrade($version)
{
if (version_compare($version, '2.0.0', '<')) {
Db::getInstance()->execute('ALTER TABLE `' . _DB_PREFIX_ . 'mymodule`
ADD COLUMN `new_field` VARCHAR(255)');
}
}Después del downgrade - Limpieza esencial
- Caché Smarty
- OPcache - Reiniciar PHP-FPM o Apache
- Caché CDN
- Caché del navegador - Probar en ventana privada
Verificar la versión del módulo
Después del downgrade, verifica que PrestaShop reconozca la versión correcta.
Probar exhaustivamente
- La funcionalidad específica del módulo
- El proceso de checkout de inicio a fin
- Las páginas admin donde el módulo agrega contenido
- Vistas móvil y escritorio
- Rendimiento
Prevenir futuros problemas de actualización
- Siempre respaldar antes de actualizar
- Probar actualizaciones en un entorno de staging
- Leer el changelog
- Conservar versiones anteriores
- Verificar compatibilidad
Cuándo contactar al desarrollador del módulo
Si ninguno de los métodos anteriores resuelve el problema, contacta al desarrollador con tu versión de PrestaShop, versión de PHP, versiones del módulo y mensajes de error exactos.
¿Le resultó útil esta respuesta?
¿Aún tiene preguntas?
Can't find what you're looking for? Send us your question and we'll get back to you quickly.