2

i want to reindex product id after i delete all product from admin . From admin i deleted all products , but when i add new product i still see product ids to be increment from last product id, How can it be fixed , i do not want to run query on database as it may cause some issue .

Please help me to fix it

mcoder
  • 713
  • 2
  • 15
  • 37

1 Answers1

3
  set_time_limit(0);  
ini_set('memory_limit','512M');      
require_once 'app/Mage.php';  
Mage :: app("default")->setCurrentStore( Mage_Core_Model_App :: ADMIN_STORE_ID );  

$products = Mage :: getResourceModel('catalog/product_collection')->setStoreId(1)->getAllIds();  
if(is_array($products)) {  
        foreach ($products as $key => $id)  
        {  
            try  
            {  
                //Product Load by product id
                $product = Mage::getModel('catalog/product')->load($id)->delete();  
                echo "successfully deleted product with ID: ". $id ."
"; } catch (Exception $e) { echo "An error has been occured while deleting product -". $id ."
"; } } }
 
//Reindex through programatically
// clear cache
Mage::app()->removeCache('catalog_rules_dirty');
// reindex prices
Mage::getModel('index/process')->load(2)->reindexEverything(); 
 
/*
1 = Product Attributes
2 = Product Attributes
3 = Catalog URL Rewrites
4 = Product Flat Data
5 = Category Flat Data
6 = Category Products
7 = Catalog Search Index
8 = Tag Aggregation Data
9 = Stock Status
*/

Now you can safely reset the product id to 1 by truncating all the tables.

TRUNCATE TABLE `catalog_product_bundle_option`;
TRUNCATE TABLE `catalog_product_bundle_option_value`;
TRUNCATE TABLE `catalog_product_bundle_selection`;
TRUNCATE TABLE `catalog_product_entity_datetime`;
TRUNCATE TABLE `catalog_product_entity_decimal`;
TRUNCATE TABLE `catalog_product_entity_gallery`;
TRUNCATE TABLE `catalog_product_entity_int`;
TRUNCATE TABLE `catalog_product_entity_media_gallery`;
TRUNCATE TABLE `catalog_product_entity_media_gallery_value`;
TRUNCATE TABLE `catalog_product_entity_text`;
TRUNCATE TABLE `catalog_product_entity_tier_price`;
TRUNCATE TABLE `catalog_product_entity_varchar`;
TRUNCATE TABLE `catalog_product_link`;
TRUNCATE TABLE `catalog_product_link_attribute_decimal`;
TRUNCATE TABLE `catalog_product_link_attribute_int`;
TRUNCATE TABLE `catalog_product_link_attribute_varchar`;
TRUNCATE TABLE `catalog_product_option`;
TRUNCATE TABLE `catalog_product_option_price`;
TRUNCATE TABLE `catalog_product_option_title`;
TRUNCATE TABLE `catalog_product_option_type_price`;
TRUNCATE TABLE `catalog_product_option_type_title`;
TRUNCATE TABLE `catalog_product_option_type_value`;
TRUNCATE TABLE `catalog_product_super_attribute`;
TRUNCATE TABLE `catalog_product_super_attribute_label`;
TRUNCATE TABLE `catalog_product_super_attribute_pricing`;
TRUNCATE TABLE `catalog_product_super_link`;
TRUNCATE TABLE `catalog_product_enabled_index`;
TRUNCATE TABLE `catalog_product_website`;
TRUNCATE TABLE `catalog_product_entity`;
TRUNCATE TABLE `cataloginventory_stock_item`;
TRUNCATE TABLE `cataloginventory_stock_status`;
Rohit Kundale
  • 3,492
  • 1
  • 21
  • 28
sandip
  • 4,004
  • 2
  • 24
  • 56