-
Notifications
You must be signed in to change notification settings - Fork 1
Database Schema
“SilentJMA” edited this page Jun 18, 2026
·
1 revision
All custom tables use the {$wpdb->prefix}mirakl_* naming convention. Tables are created on plugin activation and updated via non-destructive migrations.
Per-store API credentials and configuration.
| Column | Type | Notes |
|---|---|---|
id |
bigint(20) PK AI | |
store_name |
varchar(255) UNIQUE | |
api_endpoint |
varchar(500) | Mirakl MMP API base URL |
api_key |
varchar(500) | API key (encrypted at rest) |
shop_id |
varchar(255) | Nullable |
active |
tinyint(1) DEFAULT 1 | Toggle store |
locale |
varchar(20) | Store language (e.g., de_DE, fr_FR) |
shipping_method |
varchar(255) | Nullable, per-store WC shipping method |
shipping_method_title |
varchar(255) | Nullable, per-store shipping label prefix |
created_at |
datetime | |
updated_at |
datetime | ON UPDATE CURRENT_TIMESTAMP |
Order mapping between Mirakl and WooCommerce.
| Column | Type | Notes |
|---|---|---|
id |
bigint(20) PK AI | |
store_name |
varchar(255) | |
mirakl_order_id |
varchar(255) | UNIQUE with store |
wc_order_id |
bigint(20) | INDEX |
order_status |
varchar(100) DEFAULT 'pending' | |
total_amount |
decimal(15,2) | |
currency |
varchar(10) DEFAULT 'EUR' | |
customer_email |
varchar(255) | |
created_at |
datetime | |
updated_at |
datetime |
Audit trail for all sync operations.
| Column | Type | Notes |
|---|---|---|
id |
bigint(20) PK AI | |
store_name |
varchar(255) | |
sync_type |
enum('order','product','stock','price','offer','return') | |
mirakl_id |
varchar(255) | |
wc_id |
bigint(20) | |
status |
enum('success','failed','pending') | |
error_message |
text | |
created_at |
datetime | INDEX |
Carrier codes from the CA01 API.
| Column | Type | Notes |
|---|---|---|
id |
bigint(20) PK AI | |
mirakl_store_name |
varchar(255) | |
code |
varchar(255) | UNIQUE with store |
label |
varchar(255) | |
standard_code |
varchar(255) | Nullable |
tracking_url |
text | Nullable |
created_at |
datetime | |
updated_at |
datetime |
Per-channel carrier overrides.
| Column | Type | Notes |
|---|---|---|
id |
bigint(20) PK AI | |
mirakl_store_name |
varchar(255) | |
channel_code |
varchar(255) | UNIQUE with store |
carrier_code |
varchar(255) | |
tracking_url |
text | Nullable |
created_at |
datetime | |
updated_at |
datetime |
Category hierarchy cache from TBCATALOG classification XML.
| Column | Type | Notes |
|---|---|---|
id |
bigint(20) PK AI | |
store_name |
varchar(255) | |
channel_code |
varchar(255) | |
category_code |
varchar(255) | UNIQUE with store+channel |
category_label |
varchar(500) | |
parent_code |
varchar(255) | Nullable |
is_leaf |
tinyint(1) DEFAULT 0 | |
updated_at |
datetime |
Product ID cross-references.
| Column | Type | Notes |
|---|---|---|
id |
bigint(20) PK AI | |
woocommerce_product_id |
bigint(20) | UNIQUE with store |
mirakl_product_id |
varchar(255) | INDEX |
mirakl_offer_id |
varchar(255) | Nullable |
store_name |
varchar(255) | |
last_sync |
datetime | Nullable |
SKU resolution cache (auto-populated from OF21 API).
| Column | Type | Notes |
|---|---|---|
id |
bigint(20) PK AI | |
store_name |
varchar(255) | |
shop_sku |
varchar(255) | UNIQUE with store |
product_sku |
varchar(255) | |
offer_id |
varchar(255) | Nullable |
updated_at |
datetime | |
created_at |
datetime |
PRI01 pricing import lifecycle tracking.
| Column | Type | Notes |
|---|---|---|
id |
bigint(20) UNSIGNED PK AI | |
store_name |
varchar(190) | |
mirakl_import_id |
varchar(190) | UNIQUE with store |
status |
varchar(20) DEFAULT 'pending' | pending, running, completed, failed, cancelled |
row_count |
int UNSIGNED | |
success_count |
int UNSIGNED | |
failed_count |
int UNSIGNED | |
submitted_at |
datetime | |
completed_at |
datetime | Nullable |
last_polled_at |
datetime | |
poll_count |
int UNSIGNED | |
error_message |
text | Nullable |
error_report |
longtext | Nullable |
source |
varchar(40) DEFAULT 'cron' | cron or manual |
PM11 attribute hierarchy and VL11 value lists cache.
| Column | Type | Notes |
|---|---|---|
id |
bigint(20) PK AI | |
store_name |
varchar(255) | |
type |
varchar(20) | 'hierarchy' (PM11) or 'value_list' (VL11) |
code |
varchar(255) | |
label |
text | Nullable |
parent_code |
varchar(255) | Nullable |
values_json |
longtext | Nullable, JSON array for VL11 |
updated_at |
datetime |
Order fetch cursor tracking.
| Column | Type | Notes |
|---|---|---|
id |
bigint(20) PK AI | |
mirakl_store_name |
varchar(255) UNIQUE | |
last_fetch_time |
datetime |
Tracking update cursor tracking.
| Column | Type | Notes |
|---|---|---|
id |
bigint(20) PK AI | |
mirakl_store_name |
varchar(255) UNIQUE | |
last_tracking_update_time |
datetime |
| Option | Type | Description |
|---|---|---|
mirakl_connector_version |
string | Plugin version on activation |
mirakl_connector_db_version |
string | Current DB schema version |
mirakl_orders_sync_enabled |
bool | Order sync toggle |
mirakl_orders_sync_interval |
string | Order sync cron interval |
mirakl_stock_sync_enabled |
bool | Stock sync toggle |
mirakl_stock_sync_interval |
string | Stock sync cron interval |
mirakl_price_sync_enabled |
bool | Price sync toggle |
mirakl_price_sync_interval |
string | Price sync cron interval |
mirakl_products_sync_enabled |
bool | Product sync toggle |
mirakl_products_sync_interval |
string | Product sync cron interval |
mirakl_channel_delivery_note_actions |
array | Per-channel delivery note URL config |
mirakl_delivery_note_store_settings |
array | Per-store delivery note settings (logo, language, footer) |
| Meta Key | Type | Description |
|---|---|---|
_mirakl_active |
'yes'|'no' | Product synced to Mirakl |
_mirakl_brand |
string | Brand name |
_mirakl_gtin |
string | GTIN/EAN/UPC |
_mirakl_order_id |
string | Mirakl order ID (on WC orders) |
mirakl_order_id |
string | Alternative meta key |
_mirakl_channel_code |
string | Channel code (on WC orders) |
mirakl_channel_code |
string | Alternative meta key |
_tracking_number |
string | Shipping tracking number |
_carrier_code |
string | Shipping carrier code |