Cómo eliminar todos los productos en Magento con un script de php.

Para eliminar todos los productos de Magento con un script de PHP se puede realizar de la siguiente manera.

Primero se obtienen todos los productos y luego se los recorre con un loop y se los elimina uno a uno.

 

require_once '../app/Mage.php';
Mage::app();

error_reporting(E_ALL);
ini_set('display_errors', '1');

Mage::register('isSecureArea', true);
try {
    $collection = Mage::getModel('catalog/product')
                        ->getCollection()
                        ->addAttributeToSelect('*');

    $i = 0;
    foreach ($collection as $product) {
        echo "Eliminando producto: " . $product->getId() . "
"; $product->delete(); } } catch (Exception $e) { echo 'Error'; } Mage::unregister('isSecureArea');

table data is not editable because there is no primary key defined for the table

Esto ocurre cuando se intenta realizar un SELECT sobre una tabla que no tiene PRIMARY KEY.

Para solucionar este problema hay que deshabilitar la opción "Safe Update". Para realizar esto hay que ir a MySQLWorkbench > Preferences > SQL Editor.