Cleanly delete all categories in Magento

If you have been working on a demo store – or yours is still in the early stages of construction, you will probably find it necessary to remove all the categories to start fresh at some point.

Thanks to CasualCommerce, there is a pretty straightforward MySQL “script” to clear out the tables and start fresh.

    TRUNCATE TABLE `catalog_category_entity`;
    TRUNCATE TABLE `catalog_category_entity_datetime`;
    TRUNCATE TABLE `catalog_category_entity_decimal`;
    TRUNCATE TABLE `catalog_category_entity_int`;
    TRUNCATE TABLE `catalog_category_entity_text`;
    TRUNCATE TABLE `catalog_category_entity_varchar`;
    TRUNCATE TABLE `catalog_category_product`;
    TRUNCATE TABLE `catalog_category_product_index`;
 
    insert  into `catalog_category_entity`(`entity_id`,`entity_type_id`,`attribute_set_id`,`parent_id`,`created_at`,`updated_at`,`path`,`position`,`level`,`children_count`) values (1,3,0,0,'0000-00-00 00:00:00','2009-02-20 00:25:34','1',1,0,1),(2,3,3,0,'2009-02-20 00:25:34','2009-02-20 00:25:34','1/2',1,1,0);
    insert  into `catalog_category_entity_int`(`value_id`,`entity_type_id`,`attribute_id`,`store_id`,`entity_id`,`value`) values (1,3,32,0,2,1),(2,3,32,1,2,1);
    insert  into `catalog_category_entity_varchar`(`value_id`,`entity_type_id`,`attribute_id`,`store_id`,`entity_id`,`value`) values (1,3,31,0,1,'Root Catalog'),(2,3,33,0,1,'root-catalog'),(3,3,31,0,2,'Default Category'),(4,3,39,0,2,'PRODUCTS'),(5,3,33,0,2,'default-category');
This entry was posted in Magento and tagged , , . Bookmark the permalink.

7 Responses to Cleanly delete all categories in Magento


  1. Douglas

    Just ran this and it produced an error and, apparently, wiped out my ability to create new categories since I now only have white screen in my Manage Categories section. The buttons to create new categories is gone.

    I’m running Magento ver. 1.3.2.4

    Reply



  2. Douglas

    It was a character replacement problem :)

    Reply


  3. Use this for magento 1.4.1.1

    TRUNCATE TABLE catalog_category_entity;
    TRUNCATE TABLE catalog_category_entity_datetime;
    TRUNCATE TABLE catalog_category_entity_decimal;
    TRUNCATE TABLE catalog_category_entity_int;
    TRUNCATE TABLE catalog_category_entity_text;
    TRUNCATE TABLE catalog_category_entity_varchar;
    TRUNCATE TABLE catalog_category_product;
    TRUNCATE TABLE catalog_category_product_index;

    insert into catalog_category_entity (entity_id,entity_type_id,attribute_set_id,parent_id,created_at,updated_at,path,position,level,children_count) values (’1′,’3′,’0′,’0′,’0000-00-00 00:00:00′,’2009-02-20 00:25:34′,’1′,’1′,’0′,’1′),(’2′,’3′,’3′,’0′,’2009-02-20 00:25:34′,’2009-02-20 00:25:34′,’1/2′,1,1,0);
    insert into catalog_category_entity_int (value_id, entity_type_id,attribute_id,store_id,entity_id,value) values (’1′,’3′,’32′,’0′,’2′,’1′),(’2′,’3′,’32′,’1′,’2′,’1′);
    insert into catalog_category_entity_varchar (value_id,entity_type_id,attribute_id,store_id,entity_id,value) values (’1′,’3′,’31′,’0′,’1′,’Root Catalog’),(’2′,’3′,’33′,’0′,’1′,’root-catalog’),(’3′,’3′,’31′,’0′,’2′,’Default Category’),(’4′,’3′,’39′,’0′,’2′,’PRODUCTS’),(’5′,’3′,’33′,’0′,’2′,’default-category’);

    Reply


  4. it works well ! 3Q . ^_^

    Reply


  5. I recommend setting the following

    SET FOREIGN_KEY_CHECKS = 0;

    before the script above and

    SET FOREIGN_KEY_CHECKS = 1;

    after the script above to prevent errors due to foreign key restraints.

    Reply


  6. Hello,
    I have a category who are undeleteble!
    I don’t know if it’s a bug or feature…

    If I click on it, I don’t have the delete button fro the top…
    I tried to find it in the DB but no success…
    How I can remove those categories?

    Reply


Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">