Skip to content

Instantly share code, notes, and snippets.

@chriswagoner
Created September 12, 2019 19:56
Show Gist options
  • Select an option

  • Save chriswagoner/a183c474d57af3e3d899fd5090963a8e to your computer and use it in GitHub Desktop.

Select an option

Save chriswagoner/a183c474d57af3e3d899fd5090963a8e to your computer and use it in GitHub Desktop.
Scrub Woocommerce from Database
// Dropping Woocommerce part because it's way faster!
// Here are two sources below with credit -- I'll add more as I find them
1.) Remove all products, categories, meta and relations
DELETE relations.*, taxes.*, terms.*
FROM wp_term_relationships AS relations
INNER JOIN wp_term_taxonomy AS taxes
ON relations.term_taxonomy_id=taxes.term_taxonomy_id
INNER JOIN wp_terms AS terms
ON taxes.term_id=terms.term_id
WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type='product');
DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = 'product');
DELETE FROM wp_posts WHERE post_type = 'product';
DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL;
delete from `wp_termmeta`
where
`term_id` in (
SELECT `term_id`
FROM `wp_term_taxonomy`
WHERE `taxonomy` in ('product_cat', 'product_type', 'product_visibility')
);
delete from `wp_terms`
where
`term_id` in (
SELECT `term_id`
FROM `wp_term_taxonomy`
WHERE `taxonomy` in ('product_cat', 'product_type', 'product_visibility')
);
DELETE FROM `wp_term_taxonomy` WHERE `taxonomy` in ('product_cat', 'product_type', 'product_visibility');
DELETE meta FROM wp_termmeta meta LEFT JOIN wp_terms terms ON terms.term_id = meta.term_id WHERE terms.term_id IS NULL;
DELETE FROM wp_woocommerce_attribute_taxonomies;
DELETE FROM wp_woocommerce_sessions;
// Source: https://gist.github.com/mikaelz/d574457cb22f1f79f337#gistcomment-2153373
2.)
2.a) Remove all attributes from WooCommerce
DELETE FROM wp_terms WHERE term_id IN
(SELECT term_id FROM wp_term_taxonomy WHERE taxonomy LIKE 'pa_%');
DELETE FROM wp_term_taxonomy WHERE taxonomy LIKE 'pa_%';
DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN
(SELECT term_taxonomy_id FROM wp_term_taxonomy);
2.b) Delete all WooCommerce products
DELETE FROM wp_term_relationships WHERE object_id IN
(SELECT ID FROM wp_posts WHERE post_type IN ('product','product_variation'));
DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type IN
('product','product_variation'));
DELETE FROM wp_posts WHERE post_type IN ('product','product_variation');
2.c) Delete orphaned postmeta
DELETE pm
FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL
// Source: https://www.mindyourownwebsite.com.au/wordpress-bulk-remove-woocommerce-products-attributes-sql-commands/?unapproved=652&moderation-hash=439f184e188104f49862f44153f2fa83#comment-652
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment