Database¶
Tables¶
{prefix}wc_status_log_orders¶
Logs every WooCommerce order status transition.
| Column | Type | Description |
|---|---|---|
id | int unsigned | Primary key |
order_id | bigint unsigned | FK → orders table (posts or HPOS) |
subscription_id | bigint unsigned | FK → parent subscription, if any |
status_id | tinyint unsigned | FK → wc_statuses.id (new status) |
status_id_prev | tinyint unsigned | FK → wc_statuses.id (previous status) |
customer_id | bigint unsigned | FK → wp_users.ID |
time | datetime | When the transition occurred |
context | varchar(30) | Optional tag (e.g. renewal) |
{prefix}wc_status_log_subscriptions¶
Logs every WooCommerce Subscriptions status transition.
| Column | Type | Description |
|---|---|---|
id | int unsigned | Primary key |
subscription_id | bigint unsigned | FK → subscription (posts or HPOS) |
status_id | tinyint unsigned | FK → wc_statuses.id (new status) |
status_id_prev | tinyint unsigned | FK → wc_statuses.id (previous status) |
customer_id | bigint unsigned | FK → wp_users.ID |
time | datetime | When the transition occurred |
context | varchar(30) | Optional tag (e.g. renewal) |
ER diagram¶
erDiagram
wp_users {
bigint ID PK
}
wp_posts {
bigint ID PK
}
wp_wc_orders {
bigint id PK
}
wc_statuses {
tinyint id PK
varchar name
}
wc_status_log_orders {
int id PK
bigint order_id FK
bigint subscription_id FK
tinyint status_id FK
tinyint status_id_prev FK
bigint customer_id FK
datetime time
varchar context
}
wc_status_log_subscriptions {
int id PK
bigint subscription_id FK
tinyint status_id FK
tinyint status_id_prev FK
bigint customer_id FK
datetime time
varchar context
}
wc_status_log_orders }o--|| wc_statuses : "status_id"
wc_status_log_orders }o--|| wc_statuses : "status_id_prev"
wc_status_log_orders }o--o| wp_users : "customer_id"
wc_status_log_orders }o--|| wp_posts : "order_id (classic)"
wc_status_log_orders }o--|| wp_wc_orders : "order_id (HPOS)"
wc_status_log_orders }o--o| wp_posts : "subscription_id (classic)"
wc_status_log_orders }o--o| wp_wc_orders : "subscription_id (HPOS)"
wc_status_log_subscriptions }o--|| wc_statuses : "status_id"
wc_status_log_subscriptions }o--|| wc_statuses : "status_id_prev"
wc_status_log_subscriptions }o--o| wp_users : "customer_id"
wc_status_log_subscriptions }o--|| wp_posts : "subscription_id (classic)"
wc_status_log_subscriptions }o--|| wp_wc_orders : "subscription_id (HPOS)" The
order_id/subscription_idforeign keys switch betweenwp_postsandwp_wc_ordersdepending on the active WooCommerce data store. See Architecture → HPOS compatibility.