Como eliminar todos los productos de PrestaShop

Si quieres eliminar todos los productos de PrestaShop de una vez, junto a todas las tablas relacionadas: atributos, precios, imágenes, etc. debes crear un archivo con extensión php que contenga el siguiente código:


<?php
require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.inc.php');
include(dirname(__FILE__) . '/init.php');

$res = Db::getInstance()->executeS('SELECT `id_product` FROM `'._DB_PREFIX_.'product` ORDER BY `id_product` DESC LIMIT 100 ');
echo "<p>(".date('Y/m/d H:i:s').") Starting to delete products...</p>";
if ($res) {
    foreach ($res as $row) {
        echo "<p>(".date('Y/m/d H:i:s').") Deleting product with ID <b>".$row['id_product']."</b>...";
        $p = new Product($row['id_product']);
        if(!$p->delete()) {
            echo " <span style='color: red'>Error deleting this product!</span></p>";
        } else {
            echo " <span style='color: green'>DELETED</span></p>";
        }
    }
}
?>

<script>
window.location.reload();
</script>

Este archivo lo debes subir a tu hosting (a la carpeta public_html por ejemplo) y correrlo en el navegador:


https : // w w w. tudominio .com/nombre-archivo.php


(debes cambiar tu dominio .com por tu dominio real y el nombre-archivo.php el nombre que le pusiste al archivo)


El script comenzará a eliminar los productos de PrestaShop. 

Debes ser paciente ya que según el número de productos que tengas puede tardar varias horas en ejecutarse. 


Tiene un límite de 100 productos en cada intento para que no provoque un timeout en tu servidor.


Este script ha sido sacado de un post del Foro Oficial de PrestaShop:


FUENTE: https://www.prestashop.com/forums/topic/609319-solved-delete-massive-products-from-database-10420-products/?do=findComment&comment=2554495

¿Ha sido útil esta respuesta? No

Enviar comentario
Por favor ayúdanos a mejorar dejando tus ideas o comentarios