What Do I Do If WooCommerce Database Tables Go Missing?

Why This Happens

WooCommerce relies on several custom database tables beyond WordPress's own core tables (for things like sessions, tax rates, and depending on configuration, order data under HPOS). These can go missing or become corrupted from an interrupted installation, a botched manual database migration, a hosting issue, or in rare cases a plugin conflict that deletes or damages a table incorrectly.

Common Causes

  • An interrupted WooCommerce installation or update (a timeout, a server issue mid-process) leaving the database in a partially migrated state.
  • A manual database migration or restoration done incompletely, missing WooCommerce-specific tables that aren't part of WordPress's core table set.
  • A hosting-level database issue (corruption, a failed backup restore) affecting specific tables.
  • A poorly coded plugin or a manual database query accidentally dropping or altering a WooCommerce table.

How to Fix It

  1. Take a full database backup immediately, before attempting any repair, regardless of the current state.
  2. Go to WooCommerce → Status → Tools and use the "Create default WooCommerce pages" and database-related repair tools available there, which handle many common table issues automatically.
  3. Check the Status → Tools → Database section (if using a WooCommerce version that exposes it) for a table verification/update tool specifically.
  4. If the built-in tools don't resolve it, a direct database-level investigation is needed, ideally by someone comfortable working safely with the store's live data, given the risk involved.

Dealing with database-level issues and need this handled carefully? See WooCommerce fixes.

Confirming what is actually missing

  1. Back up first, even a damaged database. A partial backup is better than none if a repair makes things worse.
  2. Read the system status report. WooCommerce → Status has a database section that lists WooCommerce's tables and flags any that are missing.
  3. Look at the table prefix. In phpMyAdmin, compare the tables present with the $table_prefix in wp-config.php. A restore or migration that used a different prefix leaves the tables in place, but under a name WordPress isn't looking for.
  4. Know the usual suspects. The tables for sessions, API keys, tax rates, order items and downloadable product permissions are among those WooCommerce adds beyond core.

Recreate or restore

WooCommerce's Tools tab can verify and recreate its base tables, which handles an empty or incomplete install. If tables that held real data, such as orders or tax rates, are gone, restoring from a backup is safer than recreating them empty. Hand-building tables is a last resort, and best left to someone who can compare against the expected schema.

Available for new projects

NEXT STEP

Rather have it fixed than keep reading?

Based in Dhaka, Bangladesh — serving clients worldwide. Tell me what's happening and you'll have a reply within one working day.

  • Reply within one working day
  • Fixed quote before work starts
  • UK, EU and US hours covered