Database Schema Shopware 6.7.8.0

238 tables found. Click a table to see its columns, indexes, and relations.

Shopware 6.7.8.0

Shopware Version

Shopware 5

Shopware 5

Shopware 6

Shopware 6

acl_role

7 columns

Stores named roles (e.g. 'Editor', 'Content Manager') used to group ACL permissions for admin users.

Column Type Nullable Additional
id binary(16) NO Primary Key
name varchar(255) NO
description longtext YES
privileges json NO
created_at datetime(3) NO
updated_at datetime(3) YES
deleted_at datetime(3) YES

acl_user_role

4 columns

Junction table linking admin users (integrations/users) to their assigned ACL roles.

Column Type Nullable Additional
user_id binary(16) NO Primary Key Foreign Key → user.id
acl_role_id binary(16) NO Primary Key Foreign Key → acl_role.id
created_at datetime(3) NO
updated_at datetime(3) YES

Tracks Elasticsearch indexing tasks triggered from the Administration for admin search.

Column Type Nullable Additional
id binary(16) NO Primary Key
index varchar(500) NO
alias varchar(500) NO
entity varchar(500) NO
doc_count int NO

app

30 columns

Registry of installed Shopware apps (third-party extensions using the App System).

Column Type Nullable Additional
id binary(16) NO Primary Key
name varchar(255) NO Unique
path varchar(4096) YES
author varchar(255) YES
copyright varchar(255) YES
license varchar(255) YES
privacy varchar(255) YES
version varchar(255) NO
base_app_url varchar(1024) YES
active tinyint(1) NO
allow_disable tinyint(1) NO
configurable tinyint(1) NO
icon mediumblob YES
app_secret varchar(255) YES
modules json YES
main_module json YES
cookies json YES
allowed_hosts json YES
integration_id binary(16) NO Index Foreign Key → integration.id
acl_role_id binary(16) NO Index Foreign Key → acl_role.id
created_at datetime(3) NO
updated_at datetime(3) YES
template_load_priority int YES
checkout_gateway_url varchar(255) YES
self_managed tinyint(1) NO
source_type varchar(20) NO
source_config json NO
in_app_purchases_gateway_url varchar(255) YES
requested_privileges json NO
context_gateway_url varchar(255) YES

Defines custom action buttons added by apps to Administration module views.

Column Type Nullable Additional
id binary(16) NO Primary Key
entity varchar(255) NO
view varchar(255) NO
url varchar(255) NO
action varchar(255) NO Index
app_id binary(16) NO Index Foreign Key → app.id
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for app-defined action button labels.

Column Type Nullable Additional
label varchar(255) YES
created_at datetime(3) NO
updated_at datetime(3) YES
app_action_button_id binary(16) NO Primary Key Foreign Key → app_action_button.id
language_id binary(16) NO Primary Key Foreign Key → language.id

Stores Administration UI translation snippets provided by apps.

Column Type Nullable Additional
id binary(16) NO Primary Key
app_id binary(16) NO Index Foreign Key → app.id
locale_id binary(16) NO Index Foreign Key → locale.id
value json NO
created_at datetime(3) NO
updated_at datetime(3) YES

app_cms_block

8 columns

Custom CMS blocks registered by apps for use in the Shopping Experiences editor.

Column Type Nullable Additional
id binary(16) NO Primary Key
app_id binary(16) NO Index Foreign Key → app.id
name varchar(255) NO
block json NO
template longtext NO
styles longtext NO
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for app-provided CMS block labels and descriptions.

Column Type Nullable Additional
label varchar(255) YES
app_cms_block_id binary(16) NO Primary Key Foreign Key → app_cms_block.id
language_id binary(16) NO Primary Key Foreign Key → language.id
created_at datetime(3) NO
updated_at datetime(3) YES

app_config

2 columns

Key-value configuration storage for app-specific settings.

Column Type Nullable Additional
key varchar(255) NO Primary Key
value longtext NO

Custom Flow Builder actions registered by apps (e.g. send data to external service).

Column Type Nullable Additional
id binary(16) NO Primary Key
app_id binary(16) NO Index Foreign Key → app.id
name varchar(255) NO Unique
badge varchar(255) YES
url varchar(500) NO
delayable tinyint(1) NO
parameters json YES
config json YES
headers json YES
requirements json YES
icon mediumblob YES
sw_icon varchar(255) YES
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for app-provided Flow Builder action names and descriptions.

Column Type Nullable Additional
app_flow_action_id binary(16) NO Primary Key Foreign Key → app_flow_action.id
language_id binary(16) NO Primary Key Foreign Key → language.id
label varchar(255) YES
description longtext YES
headline varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Custom business events registered by apps that can trigger flows.

Column Type Nullable Additional
id binary(16) NO Primary Key
app_id binary(16) NO Index Foreign Key → app.id
name varchar(255) NO Unique
aware json NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Payment methods provided by apps, linking to the app's payment handler endpoint.

Column Type Nullable Additional
id binary(16) NO Primary Key
app_id binary(16) YES Index Foreign Key → app.id
payment_method_id binary(16) NO Unique Foreign Key → payment_method.id
app_name varchar(255) NO
identifier varchar(255) NO
pay_url varchar(255) YES
finalize_url varchar(255) YES
validate_url varchar(255) YES
capture_url varchar(255) YES
refund_url varchar(255) YES
original_media_id binary(16) YES Index Foreign Key → media.id
created_at datetime(3) NO
updated_at datetime(3) YES
recurring_url varchar(255) YES

Custom rule conditions provided by apps via Twig-based scripts for the Rule Builder.

Column Type Nullable Additional
id binary(16) NO Primary Key
app_id binary(16) NO Index Foreign Key → app.id
identifier varchar(255) NO
active tinyint(1) NO
group varchar(255) YES
script longtext YES
constraints longblob YES
config json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for app-provided script-based rule condition labels.

Column Type Nullable Additional
app_script_condition_id binary(16) NO Primary Key Foreign Key → app_script_condition.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
created_at datetime(3) NO
updated_at datetime(3) YES

Shipping methods provided by apps, linking to the app's shipping handler endpoint.

Column Type Nullable Additional
id binary(16) NO Primary Key
app_id binary(16) YES Index Foreign Key → app.id
app_name varchar(255) NO
shipping_method_id binary(16) NO Unique Foreign Key → shipping_method.id
original_media_id binary(16) YES Index Foreign Key → media.id
identifier varchar(255) NO
created_at datetime(3) NO
updated_at datetime(3) YES

app_template

8 columns

Storefront template overrides and extensions provided by apps.

Column Type Nullable Additional
id binary(16) NO Primary Key
template longtext NO
path varchar(1024) NO Index
active tinyint(1) NO
app_id binary(16) NO Index Foreign Key → app.id
created_at datetime(3) NO
updated_at datetime(3) YES
hash varchar(32) YES

Translations for app metadata (label, description, privacy policy URL).

Column Type Nullable Additional
app_id binary(16) NO Primary Key Foreign Key → app.id
language_id binary(16) NO Primary Key Foreign Key → language.id
label varchar(255) YES
description longtext YES
privacy_policy_extensions mediumtext YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

cart

6 columns

Persisted shopping carts (serialized) for logged-in customers and guest sessions.

Column Type Nullable Additional
token varchar(50) NO Primary Key
rule_ids json NO
created_at datetime(3) NO Index
auto_increment bigint NO Unique
compressed tinyint(1) NO
payload longblob YES

category

22 columns

Hierarchical product category tree — the primary navigation and catalog structure.

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
auto_increment int NO Unique
parent_id binary(16) YES Index Foreign Key → category.id
parent_version_id binary(16) YES Foreign Key → category.version_id
media_id binary(16) YES Index Foreign Key → media.id
cms_page_id binary(16) YES Index Foreign Key → cms_page.id
cms_page_version_id binary(16) NO Foreign Key → cms_page.version_id
product_stream_id binary(16) YES Index Foreign Key → product_stream.id
product_assignment_type varchar(32) NO
path longtext YES
after_category_id binary(16) YES Index Foreign Key → category.id
after_category_version_id binary(16) YES Foreign Key → category.version_id
level int unsigned NO Index
active tinyint(1) NO
child_count int unsigned NO
display_nested_products tinyint unsigned NO
visible tinyint unsigned NO
type varchar(32) NO
created_at datetime(3) NO
updated_at datetime(3) YES
custom_entity_type_id binary(16) YES Index Foreign Key → custom_entity.id

category_tag

3 columns

Junction table linking categories to tags for categorization and filtering.

Column Type Nullable Additional
category_id binary(16) NO Primary Key Foreign Key → category.id
category_version_id binary(16) NO Primary Key Foreign Key → category.version_id
tag_id binary(16) NO Primary Key Foreign Key → tag.id

Translations for category names, descriptions, meta info, and custom fields.

Column Type Nullable Additional
category_id binary(16) NO Primary Key Foreign Key → category.id
category_version_id binary(16) NO Primary Key Foreign Key → category.version_id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
breadcrumb json YES
internal_link binary(16) YES
link_new_tab tinyint YES
link_type varchar(255) YES
external_link mediumtext YES
description longtext YES
meta_title varchar(255) YES
meta_description varchar(255) YES
keywords varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES
slot_config json YES

cms_block

21 columns

Individual content blocks within a CMS section (e.g. image-text, product listing, hero).

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
cms_section_id binary(16) YES Index Foreign Key → cms_section.id
cms_section_version_id binary(16) NO Foreign Key → cms_section.version_id
position int NO
section_position varchar(50) YES
type varchar(255) NO
name varchar(255) YES
locked tinyint(1) NO
margin_top varchar(255) YES
margin_bottom varchar(255) YES
margin_left varchar(255) YES
margin_right varchar(255) YES
background_color varchar(255) YES
background_media_id binary(16) YES Index Foreign Key → media.id
background_media_mode varchar(255) YES
visibility json YES
css_class varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

cms_page

10 columns

CMS layout pages (Shopping Experiences) — used for category pages, landing pages, and product detail.

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
type varchar(255) NO
entity varchar(255) YES
preview_media_id binary(16) YES Index Foreign Key → media.id
locked tinyint(1) NO
css_class varchar(255) YES
config json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for CMS page names.

Column Type Nullable Additional
cms_page_id binary(16) NO Primary Key Foreign Key → cms_page.id
cms_page_version_id binary(16) NO Primary Key Foreign Key → cms_page.version_id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

cms_section

18 columns

Sections within a CMS page that define the structural layout (sidebar, full-width, etc.).

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
cms_page_id binary(16) NO Index Foreign Key → cms_page.id
cms_page_version_id binary(16) NO Foreign Key → cms_page.version_id
position int NO
type varchar(255) NO
name varchar(255) YES
locked tinyint(1) NO
sizing_mode varchar(255) NO
mobile_behavior varchar(255) NO
background_color varchar(255) YES
background_media_id binary(16) YES Index Foreign Key → media.id
background_media_mode varchar(255) YES
visibility json YES
css_class varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

cms_slot

9 columns

Individual slots (elements) within a CMS block — the actual content units (text, image, product box).

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
cms_block_id binary(16) NO Index Foreign Key → cms_block.id
cms_block_version_id binary(16) NO Foreign Key → cms_block.version_id
type varchar(255) NO
slot varchar(255) NO
locked tinyint(1) NO
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for CMS slot configuration data (element-specific content).

Column Type Nullable Additional
cms_slot_id binary(16) NO Primary Key Foreign Key → cms_slot.id
cms_slot_version_id binary(16) NO Primary Key Foreign Key → cms_slot.version_id
language_id binary(16) NO Primary Key Foreign Key → language.id
config json YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

country

21 columns

Country definitions used for shipping, billing, tax rules, and address validation.

Column Type Nullable Additional
id binary(16) NO Primary Key
iso varchar(255) YES
position int NO
active tinyint(1) NO
iso3 varchar(45) YES
display_state_in_registration tinyint(1) NO
force_state_in_registration tinyint(1) NO
check_vat_id_pattern tinyint(1) NO
vat_id_pattern varchar(255) YES
vat_id_required tinyint(1) NO
customer_tax json YES
company_tax json YES
advanced_postal_code_pattern varchar(255) YES
check_advanced_postal_code_pattern tinyint(1) NO
check_postal_code_pattern tinyint(1) NO
default_postal_code_pattern varchar(1024) YES
postal_code_required tinyint(1) NO
created_at datetime(3) NO
updated_at datetime(3) YES
shipping_available tinyint(1) NO
is_eu tinyint(1) NO

country_state

7 columns

States/regions/provinces within a country (e.g. US states, German Bundesländer).

Column Type Nullable Additional
id binary(16) NO Primary Key
country_id binary(16) NO Index Foreign Key → country.id
short_code varchar(255) NO
position int NO
active tinyint(1) NO
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for country state names.

Column Type Nullable Additional
country_state_id binary(16) NO Primary Key Foreign Key → country_state.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for country names and address format configuration.

Column Type Nullable Additional
country_id binary(16) NO Primary Key Foreign Key → country.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
address_format json YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

currency

10 columns

Available currencies with exchange rates (factor) and rounding configuration.

Column Type Nullable Additional
id binary(16) NO Primary Key
iso_code char(3) NO Unique
factor double NO
symbol varchar(255) NO
position int NO
created_at datetime(3) NO
updated_at datetime(3) YES
item_rounding json YES
total_rounding json YES
tax_free_from double YES

Country-specific price rounding rules per currency (e.g. CHF rounds to 0.05).

Column Type Nullable Additional
id binary(16) NO Primary Key
currency_id binary(16) NO Index Foreign Key → currency.id
country_id binary(16) NO Index Foreign Key → country.id
item_rounding json NO
total_rounding json NO
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for currency names and short names.

Column Type Nullable Additional
currency_id binary(16) NO Primary Key Foreign Key → currency.id
language_id binary(16) NO Primary Key Foreign Key → language.id
short_name varchar(255) YES
name varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

custom_entity

11 columns

Registry of custom entities defined by apps or plugins (dynamic DB tables via Admin SDK).

Column Type Nullable Additional
id binary(16) NO Primary Key
name varchar(255) NO Unique
fields json NO
app_id binary(16) YES Index Foreign Key → app.id
created_at datetime(3) NO
updated_at datetime(3) YES
flags json YES
plugin_id binary(16) YES Index Foreign Key → plugin.id
custom_fields_aware tinyint(1) NO
label_property varchar(255) YES
deleted_at datetime(3) YES

custom_field

12 columns

Individual custom field definitions (name, type, config) within a custom field set.

Column Type Nullable Additional
id binary(16) NO Primary Key
name varchar(255) NO Unique
type varchar(255) NO
config json YES
active tinyint(1) NO
set_id binary(16) YES Index Foreign Key → custom_field_set.id
created_at datetime(3) NO
updated_at datetime(3) YES
allow_customer_write tinyint NO
allow_cart_expose tinyint(1) NO
store_api_aware tinyint(1) NO
include_in_search tinyint(1) NO

Groups of custom fields that can be assigned to entities (products, customers, orders, etc.).

Column Type Nullable Additional
id binary(16) NO Primary Key
name varchar(255) NO
config json YES
active tinyint(1) NO
app_id binary(16) YES Index Foreign Key → app.id
position int NO
global tinyint(1) NO
created_at datetime(3) NO
updated_at datetime(3) YES

Links custom field sets to the entities they apply to (e.g. product, order, customer).

Column Type Nullable Additional
id binary(16) NO Primary Key
set_id binary(16) NO Index Foreign Key → custom_field_set.id
entity_name varchar(64) NO
created_at datetime(3) NO
updated_at datetime(3) YES

customer

45 columns

Core customer records — accounts, credentials, default addresses, group assignment, and status.

Column Type Nullable Additional
id binary(16) NO Primary Key
auto_increment bigint unsigned NO Unique
customer_group_id binary(16) NO Index Foreign Key → customer_group.id
requested_customer_group_id binary(16) YES Index
sales_channel_id binary(16) NO Index Foreign Key → sales_channel.id
language_id binary(16) NO
last_payment_method_id binary(16) YES Index Foreign Key → payment_method.id
default_billing_address_id binary(16) NO Index
default_shipping_address_id binary(16) NO Index
customer_number varchar(255) NO
salutation_id binary(16) YES Index Foreign Key → salutation.id
first_name varchar(255) NO
last_name varchar(255) NO
company varchar(255) YES
password varchar(1024) YES
legacy_password varchar(255) YES
legacy_encoder varchar(255) YES
email varchar(254) NO Index
title varchar(100) YES
vat_ids json YES
active tinyint(1) NO
double_opt_in_registration tinyint(1) NO
double_opt_in_email_sent_date datetime(3) YES
double_opt_in_confirm_date datetime(3) YES
hash varchar(255) YES Unique
guest tinyint(1) NO
first_login datetime(3) YES Index
last_login datetime(3) YES Index
newsletter_sales_channel_ids json YES
birthday date YES
last_order_date datetime(3) YES
order_count int NO
order_total_amount double YES
custom_fields json YES
affiliate_code varchar(255) YES
campaign_code varchar(255) YES
created_at datetime(3) NO
updated_at datetime(3) YES
remote_address varchar(255) YES
tag_ids json YES
bound_sales_channel_id binary(16) YES Index Foreign Key → sales_channel.id
created_by_id binary(16) YES Index Foreign Key → user.id
updated_by_id binary(16) YES Index Foreign Key → user.id
account_type varchar(255) NO
review_count int NO

Customer address book entries (billing and shipping addresses).

Column Type Nullable Additional
id binary(16) NO Primary Key
customer_id binary(16) NO Index Foreign Key → customer.id
country_id binary(16) NO Index Foreign Key → country.id
country_state_id binary(16) YES Index Foreign Key → country_state.id
company varchar(255) YES
department varchar(255) YES
salutation_id binary(16) YES Index Foreign Key → salutation.id
title varchar(100) YES
first_name varchar(255) NO
last_name varchar(255) NO
street varchar(255) NO
zipcode varchar(50) YES
city varchar(70) NO
phone_number varchar(40) YES
additional_address_line1 varchar(255) YES
additional_address_line2 varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Customer groups for differentiated pricing, visibility, and access control (e.g. B2B, VIP).

Column Type Nullable Additional
id binary(16) NO Primary Key
display_gross tinyint(1) NO
registration_active tinyint(1) NO
created_at datetime(3) NO
updated_at datetime(3) YES

Configures which customer groups allow self-registration on which Sales Channels.

Column Type Nullable Additional
customer_group_id binary(16) NO Primary Key Foreign Key → customer_group.id
sales_channel_id binary(16) NO Primary Key Foreign Key → sales_channel.id
created_at datetime(3) NO

Translations for customer group names.

Column Type Nullable Additional
customer_group_id binary(16) NO Primary Key Foreign Key → customer_group.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
custom_fields json YES
registration_title varchar(255) YES
registration_introduction longtext YES
registration_only_company_registration tinyint(1) YES
registration_seo_meta_description longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

Password recovery tokens and expiry timestamps for customer account reset.

Column Type Nullable Additional
id binary(16) NO Primary Key
customer_id binary(16) NO Unique Foreign Key → customer.id
hash varchar(255) NO
created_at datetime(3) NO
updated_at datetime(3) YES

customer_tag

2 columns

Junction table linking customers to tags for segmentation and Flow Builder conditions.

Column Type Nullable Additional
customer_id binary(16) NO Primary Key Foreign Key → customer.id
tag_id binary(16) NO Primary Key Foreign Key → tag.id

Wishlists owned by customers (one per customer per Sales Channel).

Column Type Nullable Additional
id binary(16) NO Primary Key
customer_id binary(16) NO Index Foreign Key → customer.id
sales_channel_id binary(16) NO Index Foreign Key → sales_channel.id
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Individual products saved to a customer's wishlist.

Column Type Nullable Additional
id binary(16) NO Primary Key
customer_wishlist_id binary(16) NO Index Foreign Key → customer_wishlist.id
product_id binary(16) NO Index Foreign Key → product.id
product_version_id binary(16) NO Foreign Key → product.version_id
created_at datetime(3) NO
updated_at datetime(3) YES

delivery_time

6 columns

Delivery time ranges (e.g. '1-3 days', '2-5 business days') assignable to products and shipping methods.

Column Type Nullable Additional
id binary(16) NO Primary Key
min int NO
max int NO
unit varchar(255) NO
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for delivery time display names.

Column Type Nullable Additional
delivery_time_id binary(16) NO Primary Key Foreign Key → delivery_time.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

document

15 columns

Generated documents (invoices, credit notes, delivery notes, cancellations) linked to orders.

Column Type Nullable Additional
id binary(16) NO Primary Key
document_type_id binary(16) NO Index Foreign Key → document_type.id
referenced_document_id binary(16) YES Index Foreign Key → document.id
order_id binary(16) NO Index Foreign Key → order.id
order_version_id binary(16) NO Foreign Key → order.version_id
config json YES
sent tinyint(1) NO
static tinyint(1) NO
deep_link_code varchar(32) NO Unique
document_media_file_id binary(16) YES Index Foreign Key → media.id
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES
document_number varchar(255) YES Index
document_a11y_media_file_id binary(16) YES Index Foreign Key → media.id

Document template configuration (number ranges, logos, footer text, tax display) per document type.

Column Type Nullable Additional
id binary(16) NO Primary Key
name varchar(64) NO
filename_prefix varchar(64) YES
filename_suffix varchar(64) YES
document_number varchar(64) YES
global tinyint(1) YES
document_type_id binary(16) NO Index Foreign Key → document_type.id
logo_id binary(16) YES Index Foreign Key → media.id
config json YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Sales-Channel-specific overrides for document configuration.

Column Type Nullable Additional
id binary(16) NO Primary Key
document_base_config_id binary(16) NO Index Foreign Key → document_base_config.id
document_type_id binary(16) NO Index Foreign Key → document_type.id
sales_channel_id binary(16) YES Index Foreign Key → sales_channel.id
created_at datetime(3) NO
updated_at datetime(3) YES

document_type

4 columns

Document type definitions (invoice, credit_note, storno, delivery_note).

Column Type Nullable Additional
id binary(16) NO Primary Key
technical_name varchar(255) NO Unique
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for document type display names.

Column Type Nullable Additional
document_type_id binary(16) NO Primary Key Foreign Key → document_type.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Tracks Elasticsearch (OpenSearch) re-indexing tasks for the storefront product search.

Column Type Nullable Additional
id binary(16) NO Primary Key
index varchar(500) NO
alias varchar(500) NO
entity varchar(500) NO
doc_count int NO

flow

12 columns

Flow Builder automation definitions — the top-level flow with trigger event and status.

Column Type Nullable Additional
id binary(16) NO Primary Key
name varchar(255) NO
description mediumtext YES
event_name varchar(255) NO Index
priority int NO
payload longblob YES
invalid tinyint(1) NO
active tinyint(1) NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES
app_flow_event_id binary(16) YES Index Foreign Key → app_flow_event.id

flow_sequence

13 columns

Ordered sequence of actions, conditions, and branches within a Flow Builder flow.

Column Type Nullable Additional
id binary(16) NO Primary Key
flow_id binary(16) NO Index Foreign Key → flow.id
app_flow_action_id binary(16) YES Index Foreign Key → app_flow_action.id
parent_id binary(16) YES Index Foreign Key → flow_sequence.id
rule_id binary(16) YES Index Foreign Key → rule.id
action_name varchar(255) YES
config json YES
position int NO
display_group int NO
true_case tinyint(1) NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

flow_template

5 columns

Pre-built flow templates that users can import as starting points in Flow Builder.

Column Type Nullable Additional
id binary(16) NO Primary Key
name varchar(255) NO
config json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Tracks files generated by or uploaded to the import/export system.

Column Type Nullable Additional
id binary(16) NO Primary Key
original_name varchar(255) NO
path varchar(255) NO
expire_date datetime(3) NO
size int YES
updated_at datetime(3) YES
created_at datetime(3) NO
access_token varchar(255) YES

Log entries for import/export operations (status, record counts, errors).

Column Type Nullable Additional
id binary(16) NO Primary Key
activity varchar(255) NO
state varchar(255) NO
records int NO
username varchar(255) YES
profile_name varchar(255) YES
user_id binary(16) YES Index Foreign Key → user.id
profile_id binary(16) YES Index Foreign Key → import_export_profile.id
file_id binary(16) YES Index Foreign Key → import_export_file.id
created_at datetime(3) NO
updated_at datetime(3) YES
config json YES
result json YES
invalid_records_log_id binary(16) YES Index Foreign Key → import_export_log.id

Reusable import/export profile definitions (field mappings, entity type, file format).

Column Type Nullable Additional
id binary(16) NO Primary Key
system_default tinyint unsigned NO
source_entity varchar(255) NO
file_type varchar(255) NO
delimiter varchar(255) YES
enclosure varchar(255) YES
type varchar(255) NO
mapping longtext YES
update_by json YES
created_at datetime(3) NO
updated_at datetime(3) YES
config json YES
technical_name varchar(255) NO Unique

Translations for import/export profile labels.

Column Type Nullable Additional
import_export_profile_id binary(16) NO Primary Key Foreign Key → import_export_profile.id
language_id binary(16) NO Primary Key Foreign Key → language.id
label varchar(255) YES
created_at datetime(3) NO
updated_at datetime(3) YES

increment

6 columns

Generic increment/counter storage used for click tracking, view counts, and similar metrics.

Column Type Nullable Additional
pool varchar(255) NO Primary Key
cluster varchar(255) NO Primary Key
key varchar(255) NO Primary Key
count bigint unsigned NO
created_at datetime(3) NO
updated_at datetime(3) YES

integration

10 columns

API integrations (machine-to-machine) with client ID/secret for the Admin API.

Column Type Nullable Additional
id binary(16) NO Primary Key
access_key varchar(255) NO Index
secret_access_key varchar(255) NO
label varchar(255) NO
admin tinyint(1) NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES
last_usage_at datetime(3) YES
deleted_at datetime(3) YES

Links API integrations to ACL roles, defining their permission scope.

Column Type Nullable Additional
integration_id binary(16) NO Primary Key Foreign Key → integration.id
acl_role_id binary(16) NO Primary Key Foreign Key → acl_role.id

Queued cache invalidation tags scheduled for processing by the cache invalidation worker.

Column Type Nullable Additional
id binary(16) NO Primary Key
tag varchar(255) NO Unique

landing_page

7 columns

Standalone landing pages with CMS layouts, reachable via custom URLs.

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
active tinyint(1) NO
cms_page_id binary(16) YES Index Foreign Key → cms_page.id
cms_page_version_id binary(16) NO Foreign Key → cms_page.version_id
created_at datetime(3) NO
updated_at datetime(3) YES

Links landing pages to the Sales Channels where they are visible.

Column Type Nullable Additional
landing_page_id binary(16) NO Primary Key Foreign Key → landing_page.id
landing_page_version_id binary(16) NO Primary Key Foreign Key → landing_page.version_id
sales_channel_id binary(16) NO Primary Key Foreign Key → sales_channel.id

Junction table linking landing pages to tags.

Column Type Nullable Additional
landing_page_id binary(16) NO Primary Key Foreign Key → landing_page.id
landing_page_version_id binary(16) NO Primary Key Foreign Key → landing_page.version_id
tag_id binary(16) NO Primary Key Foreign Key → tag.id

Translations for landing page names, URLs, meta title, and meta description.

Column Type Nullable Additional
landing_page_id binary(16) NO Primary Key Foreign Key → landing_page.id
landing_page_version_id binary(16) NO Primary Key Foreign Key → landing_page.version_id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
url varchar(255) YES
meta_title varchar(255) YES
meta_description varchar(255) YES
keywords varchar(255) YES
custom_fields json YES
slot_config json YES
created_at datetime(3) NO
updated_at datetime(3) YES

language

9 columns

Available languages in the system — each linked to a locale and optionally a parent (inheritance).

Column Type Nullable Additional
id binary(16) NO Primary Key
name varchar(50) NO
parent_id binary(16) YES Index Foreign Key → language.id
locale_id binary(16) NO Index Foreign Key → locale.id
translation_code_id binary(16) YES Index Foreign Key → locale.id
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES
active tinyint(1) NO

locale

4 columns

Locale definitions (e.g. en-GB, de-DE) providing regional formatting and language codes.

Column Type Nullable Additional
id binary(16) NO Primary Key
code varchar(255) NO Unique
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for locale display names (territory and language names).

Column Type Nullable Additional
locale_id binary(16) NO Primary Key Foreign Key → locale.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
territory varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

log_entry

8 columns

System log entries for errors and debug information (persisted to DB).

Column Type Nullable Additional
id binary(16) NO Primary Key
message longtext NO
level smallint NO
channel varchar(255) NO
context json YES
extra json YES
created_at datetime(3) NO Index
updated_at datetime(3) YES

mail_template

5 columns

Email templates for transactional emails (order confirmation, password reset, etc.).

Column Type Nullable Additional
id binary(16) NO Primary Key
mail_template_type_id binary(16) YES Index Foreign Key → mail_template_type.id
system_default tinyint unsigned NO
created_at datetime(3) NO
updated_at datetime(3) YES

Media files attached to email templates (e.g. PDF attachments, inline images).

Column Type Nullable Additional
id binary(16) NO Primary Key
mail_template_id binary(16) NO Index Foreign Key → mail_template.id
language_id binary(16) YES Index Foreign Key → language.id
media_id binary(16) NO Index Foreign Key → media.id
position int NO

Translations for email template subject, HTML body, and plain-text body.

Column Type Nullable Additional
mail_template_id binary(16) NO Primary Key Foreign Key → mail_template.id
language_id binary(16) NO Primary Key Foreign Key → language.id
sender_name varchar(255) YES
subject varchar(255) YES
description longtext YES
content_html longtext YES
content_plain longtext YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Defines available email template types (technical name + associated business event).

Column Type Nullable Additional
id binary(16) NO Primary Key
technical_name varchar(255) NO Unique
available_entities longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES
template_data longtext YES

Translations for email template type display names.

Column Type Nullable Additional
mail_template_type_id binary(16) NO Primary Key Foreign Key → mail_template_type.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

main_category

8 columns

Assigns a primary category per Sales Channel to a product (used for canonical URLs and breadcrumbs).

Column Type Nullable Additional
id binary(16) NO Primary Key
product_id binary(16) NO Index Foreign Key → product.id
product_version_id binary(16) NO Foreign Key → product.version_id
category_id binary(16) NO Index Foreign Key → category.id
category_version_id binary(16) NO Foreign Key → category.version_id
sales_channel_id binary(16) NO Index Foreign Key → sales_channel.id
created_at datetime(3) NO
updated_at datetime(3) YES

Display units for measurements (e.g. cm, inch, kg) shown in the storefront.

Column Type Nullable Additional
id binary(16) NO Primary Key
measurement_system_id binary(16) NO Index Foreign Key → measurement_system.id
default tinyint(1) NO
type varchar(20) NO
short_name varchar(20) NO Unique
factor double NO
precision int NO
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for measurement display unit labels.

Column Type Nullable Additional
name varchar(255) YES
measurement_display_unit_id binary(16) NO Primary Key Foreign Key → measurement_display_unit.id
language_id binary(16) NO Primary Key Foreign Key → language.id
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Measurement systems (metric, imperial) for storefront unit display.

Column Type Nullable Additional
id binary(16) NO Primary Key
technical_name varchar(255) NO Unique
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for measurement system names.

Column Type Nullable Additional
name varchar(255) YES
measurement_system_id binary(16) NO Primary Key Foreign Key → measurement_system.id
language_id binary(16) NO Primary Key Foreign Key → language.id
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

media

17 columns

Central media library — stores metadata for all uploaded files (images, documents, videos).

Column Type Nullable Additional
id binary(16) NO Primary Key
user_id binary(16) YES Index Foreign Key → user.id
media_folder_id binary(16) YES Index Foreign Key → media_folder.id
mime_type varchar(255) YES
file_extension varchar(50) YES Index
file_size int unsigned YES
meta_data json YES
file_name longtext YES Index
media_type longblob YES
thumbnails_ro longblob YES
private tinyint(1) NO
uploaded_at datetime(3) YES Index
created_at datetime(3) NO
updated_at datetime(3) YES
path varchar(2048) YES
config json YES
file_hash varchar(32) YES Index

Maps entity types to their default media folder (e.g. product images → 'Product Media').

Column Type Nullable Additional
id binary(16) NO Primary Key
entity varchar(255) NO Unique
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

media_folder

11 columns

Organizational folders within the media library for grouping media files.

Column Type Nullable Additional
id binary(16) NO Primary Key
parent_id binary(16) YES Index Foreign Key → media_folder.id
default_folder_id binary(16) YES Unique Foreign Key → media_default_folder.id
name varchar(255) YES
child_count int unsigned NO
path longtext YES
media_folder_configuration_id binary(16) YES
use_parent_configuration tinyint(1) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Thumbnail generation settings and other configuration per media folder.

Column Type Nullable Additional
id binary(16) NO Primary Key
create_thumbnails tinyint(1) YES
thumbnail_quality int YES
media_thumbnail_sizes_ro longblob YES
keep_aspect_ratio tinyint(1) YES
private tinyint(1) YES
no_association tinyint(1) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Junction table linking folder configurations to their allowed thumbnail sizes.

Column Type Nullable Additional
media_folder_configuration_id binary(16) NO Primary Key Foreign Key → media_folder_configuration.id
media_thumbnail_size_id binary(16) NO Primary Key Foreign Key → media_thumbnail_size.id

media_tag

2 columns

Junction table linking media items to tags.

Column Type Nullable Additional
media_id binary(16) NO Primary Key Foreign Key → media.id
tag_id binary(16) NO Primary Key Foreign Key → tag.id

Generated thumbnail variants of media images with their dimensions and paths.

Column Type Nullable Additional
id binary(16) NO Primary Key
media_id binary(16) NO Index Foreign Key → media.id
width int unsigned NO
height int unsigned NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES
path varchar(2048) YES
media_thumbnail_size_id binary(16) NO Index Foreign Key → media_thumbnail_size.id

Defined thumbnail dimensions (width × height) used for automatic thumbnail generation.

Column Type Nullable Additional
id binary(16) NO Primary Key
width int NO Index
height int NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for media alt text, title, and custom fields.

Column Type Nullable Additional
media_id binary(16) NO Primary Key Foreign Key → media.id
language_id binary(16) NO Primary Key Foreign Key → language.id
alt varchar(255) YES
title varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Symfony Messenger queue storage table (database transport for async workers).

Column Type Nullable Additional
id bigint NO Primary Key
body longtext NO
headers longtext NO
queue_name varchar(190) NO Index
created_at datetime NO
available_at datetime NO Index
delivered_at datetime YES Index

Runtime statistics for the messenger worker (processed/failed counts).

Column Type Nullable Additional
id bigint unsigned NO Primary Key
message_type varchar(255) NO
time_in_queue int NO
created_at datetime NO Index

migration

5 columns

Tracks executed database migration versions to prevent re-running migrations.

Column Type Nullable Additional
class varchar(255) NO Primary Key
creation_timestamp int NO
update timestamp(6) YES
update_destructive timestamp(6) YES
message text YES

Newsletter subscriber records with email, status (opt-in/confirmed), and Sales Channel assignment.

Column Type Nullable Additional
id binary(16) NO Primary Key
email varchar(255) NO Index
title varchar(255) YES
first_name varchar(255) YES
last_name varchar(255) YES
zip_code varchar(255) YES
city varchar(255) YES
street varchar(255) YES
status varchar(255) NO
hash varchar(255) NO Unique
salutation_id binary(16) YES Index Foreign Key → salutation.id
language_id binary(16) NO Index Foreign Key → language.id
sales_channel_id binary(16) NO Index Foreign Key → sales_channel.id
custom_fields json YES
confirmed_at datetime(3) YES
created_at datetime(3) NO
updated_at datetime(3) YES

Junction table linking newsletter recipients to tags for segmentation.

Column Type Nullable Additional
newsletter_recipient_id binary(16) NO Primary Key Foreign Key → newsletter_recipient.id
tag_id binary(16) NO Primary Key Foreign Key → tag.id

notification

9 columns

Admin notification messages (e.g. import complete, app update available) shown in the Administration.

Column Type Nullable Additional
id binary(16) NO Primary Key
status varchar(255) NO
message longtext NO
admin_only tinyint(1) NO
required_privileges json YES
created_by_integration_id binary(16) YES Index Foreign Key → integration.id
created_by_user_id binary(16) YES Index Foreign Key → user.id
created_at datetime(3) NO
updated_at datetime(3) YES

number_range

7 columns

Configurable number ranges for generating sequential document/order numbers (e.g. INV-10001).

Column Type Nullable Additional
id binary(16) NO Primary Key
type_id binary(16) NO
global tinyint(1) NO
pattern varchar(255) NO
start int NO
created_at datetime(3) NO
updated_at datetime(3) YES

Links number ranges to Sales Channels (each channel can have its own numbering).

Column Type Nullable Additional
id binary(16) NO Primary Key
number_range_id binary(16) NO Index Foreign Key → number_range.id
sales_channel_id binary(16) YES Index Foreign Key → sales_channel.id
number_range_type_id binary(16) NO Index Foreign Key → number_range_type.id
created_at datetime(3) NO
updated_at datetime(3) YES

Current counter state for each number range (the last generated number).

Column Type Nullable Additional
id binary(16) NO Unique
number_range_id binary(16) NO Primary Key
last_value int NO
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for number range display names.

Column Type Nullable Additional
number_range_id binary(16) NO Primary Key Foreign Key → number_range.id
name varchar(64) YES
description varchar(255) YES
custom_fields json YES
language_id binary(16) NO Primary Key Foreign Key → language.id
created_at datetime(3) NO
updated_at datetime(3) YES

Types of number ranges (order, invoice, delivery_note, etc.) — defines what entity uses them.

Column Type Nullable Additional
id binary(16) NO Primary Key
technical_name varchar(64) YES Unique
global tinyint(1) NO
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for number range type names.

Column Type Nullable Additional
number_range_type_id binary(16) NO Primary Key Foreign Key → number_range_type.id
language_id binary(16) NO Primary Key Foreign Key → language.id
type_name varchar(64) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

oauth_user

7 columns

Tracks OAuth user sessions — used internally for Admin API authentication tokens.

Column Type Nullable Additional
id binary(16) NO Primary Key
user_id binary(16) NO Unique Foreign Key → user.id
user_sub varchar(255) NO Unique
token json YES
expiry datetime NO
created_at datetime(3) NO
updated_at datetime(3) YES

order

39 columns

Core order records — contains order state, totals, currency, billing address reference, and campaign tracking.

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
state_id binary(16) NO Index Foreign Key → state_machine_state.id
auto_increment bigint unsigned NO Unique
order_number varchar(64) YES Index
currency_id binary(16) NO Index Foreign Key → currency.id
language_id binary(16) NO Index Foreign Key → language.id
currency_factor double YES
sales_channel_id binary(16) NO Index Foreign Key → sales_channel.id
billing_address_id binary(16) NO
billing_address_version_id binary(16) NO
price json NO
order_date_time datetime(3) NO
order_date date YES Index
amount_total double YES
amount_net double YES
position_price double YES
tax_status varchar(255) YES
shipping_costs json NO
shipping_total double YES
deep_link_code varchar(32) YES Index
custom_fields json YES
affiliate_code varchar(255) YES
campaign_code varchar(255) YES
customer_comment longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES
item_rounding json YES
total_rounding json YES
rule_ids json YES
created_by_id binary(16) YES Index Foreign Key → user.id
updated_by_id binary(16) YES Index Foreign Key → user.id
source varchar(255) YES
primary_order_delivery_id binary(16) YES
primary_order_delivery_version_id binary(16) YES
primary_order_transaction_id binary(16) YES
primary_order_transaction_version_id binary(16) YES
internal_comment longtext YES
tax_calculation_type varchar(50) YES

order_address

22 columns

Snapshot of customer addresses at time of order (immutable copy, not linked to current address book).

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
country_id binary(16) NO Index Foreign Key → country.id
country_state_id binary(16) YES Index Foreign Key → country_state.id
order_id binary(16) NO Index Foreign Key → order.id
order_version_id binary(16) NO Foreign Key → order.version_id
company varchar(255) YES
department varchar(255) YES
salutation_id binary(16) YES Index Foreign Key → salutation.id
title varchar(100) YES
first_name varchar(255) NO
last_name varchar(255) NO
street varchar(255) NO
zipcode varchar(50) YES
city varchar(70) NO
vat_id varchar(50) YES
phone_number varchar(40) YES
additional_address_line1 varchar(255) YES
additional_address_line2 varchar(255) YES
custom_fields json YES
created_at datetime(3) NO Index
updated_at datetime(3) YES

order_customer

17 columns

Snapshot of customer data at time of order (name, email, customer number, group).

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
customer_id binary(16) YES Index Foreign Key → customer.id
order_id binary(16) NO Index Foreign Key → order.id
order_version_id binary(16) NO Foreign Key → order.version_id
email varchar(254) NO
salutation_id binary(16) YES Index Foreign Key → salutation.id
first_name varchar(255) NO
last_name varchar(255) NO
title varchar(100) YES
vat_ids json YES
company varchar(255) YES
customer_number varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES
remote_address varchar(255) YES

order_delivery

15 columns

Shipping deliveries within an order — each with its own shipping method, address, and state.

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
order_id binary(16) NO Index Foreign Key → order.id
order_version_id binary(16) NO Foreign Key → order.version_id
state_id binary(16) NO Index Foreign Key → state_machine_state.id
shipping_order_address_id binary(16) YES Index Foreign Key → order_address.id
shipping_order_address_version_id binary(16) YES Foreign Key → order_address.version_id
shipping_method_id binary(16) NO Index Foreign Key → shipping_method.id
tracking_codes json NO
shipping_date_earliest date NO
shipping_date_latest date NO
shipping_costs json NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Individual line items within a delivery (which products/quantities are in which shipment).

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
order_delivery_id binary(16) NO Index Foreign Key → order_delivery.id
order_delivery_version_id binary(16) NO Foreign Key → order_delivery.version_id
order_line_item_id binary(16) NO Index Foreign Key → order_line_item.id
order_line_item_version_id binary(16) NO Foreign Key → order_line_item.version_id
price json NO
total_price double YES
unit_price double YES
quantity int YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Order line items — products, promotions, custom items, and credits with prices and quantities.

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
order_id binary(16) NO Index Foreign Key → order.id
order_version_id binary(16) NO Foreign Key → order.version_id
parent_id binary(16) YES Index Foreign Key → order_line_item.id
parent_version_id binary(16) YES Foreign Key → order_line_item.version_id
identifier varchar(255) NO
referenced_id varchar(255) YES
product_id binary(16) YES Index Foreign Key → product.id
product_version_id binary(16) YES Foreign Key → product.version_id
promotion_id binary(16) YES Index Foreign Key → promotion.id
label varchar(255) NO
description mediumtext YES
cover_id binary(16) YES Index Foreign Key → media.id
quantity int NO
unit_price double YES
total_price double YES
type varchar(255) YES
payload json YES
price_definition json YES
price json NO
stackable tinyint(1) NO
removable tinyint(1) NO
good tinyint(1) NO
position int NO
custom_fields json YES
created_at datetime(3) NO Index
updated_at datetime(3) YES
states json YES

Downloadable file access records for digital product line items.

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
position int NO
access_granted tinyint(1) NO
order_line_item_id binary(16) NO Index Foreign Key → order_line_item.id
order_line_item_version_id binary(16) NO Foreign Key → order_line_item.version_id
media_id binary(16) NO Index Foreign Key → media.id
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

order_tag

3 columns

Junction table linking orders to tags for internal organization and Flow Builder conditions.

Column Type Nullable Additional
order_id binary(16) NO Primary Key Foreign Key → order.id
order_version_id binary(16) NO Primary Key Foreign Key → order.version_id
tag_id binary(16) NO Primary Key Foreign Key → tag.id

Payment transactions for an order — each with a payment method and transaction state.

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
order_id binary(16) NO Index Foreign Key → order.id
order_version_id binary(16) NO Foreign Key → order.version_id
state_id binary(16) NO Index Foreign Key → state_machine_state.id
payment_method_id binary(16) NO Index Foreign Key → payment_method.id
amount json NO
custom_fields json YES
created_at datetime(3) NO Index
updated_at datetime(3) YES
validation_data json YES

Payment captures for a transaction (represents the actual charge of authorized payments).

Column Type Nullable Additional
id binary(16) NO Primary Key
order_transaction_id binary(16) NO Index Foreign Key → order_transaction.id
order_transaction_version_id binary(16) NO Foreign Key → order_transaction.version_id
state_id binary(16) NO Index Foreign Key → state_machine_state.id
external_reference varchar(255) YES
amount json NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES
version_id binary(16) NO Primary Key

Refund records for captured payments (partial or full refunds).

Column Type Nullable Additional
id binary(16) NO Primary Key
capture_id binary(16) NO Index Foreign Key → order_transaction_capture.id
state_id binary(16) NO Index Foreign Key → state_machine_state.id
reason varchar(255) YES
amount json NO
custom_fields json YES
external_reference varchar(255) YES
created_at datetime(3) NO
updated_at datetime(3) YES
version_id binary(16) NO Primary Key
capture_version_id binary(16) YES Foreign Key → order_transaction_capture.version_id

Individual line-item positions within a refund (which items/amounts are being refunded).

Column Type Nullable Additional
id binary(16) NO Primary Key
refund_id binary(16) NO Index Foreign Key → order_transaction_capture_refund.id
order_line_item_id binary(16) NO Index Foreign Key → order_line_item.id
order_line_item_version_id binary(16) NO Foreign Key → order_line_item.version_id
quantity int NO
reason varchar(255) YES
external_reference varchar(255) YES
amount json NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES
version_id binary(16) NO Primary Key
refund_version_id binary(16) YES Foreign Key → order_transaction_capture_refund.version_id

payment_method

11 columns

Available payment methods (e.g. invoice, credit card, PayPal) with handler class and configuration.

Column Type Nullable Additional
id binary(16) NO Primary Key
handler_identifier varchar(255) NO
position int NO
active tinyint(1) NO
after_order_enabled tinyint(1) NO
availability_rule_id binary(16) YES Index Foreign Key → rule.id
plugin_id binary(16) YES Index Foreign Key → plugin.id
media_id binary(16) YES Index Foreign Key → media.id
created_at datetime(3) NO
updated_at datetime(3) YES
technical_name varchar(255) NO Unique

Translations for payment method names and descriptions.

Column Type Nullable Additional
payment_method_id binary(16) NO Primary Key Foreign Key → payment_method.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
distinguishable_name varchar(255) YES
description mediumtext YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

payment_token

3 columns

Short-lived tokens for payment gateway callbacks (return URLs after redirect-based payments).

Column Type Nullable Additional
token char(32) NO Primary Key
expires datetime(3) NO
consumed tinyint(1) YES

plugin

18 columns

Registry of installed Composer-based plugins with version, status, and lifecycle metadata.

Column Type Nullable Additional
id binary(16) NO Primary Key
name varchar(255) NO Unique
base_class varchar(255) NO Unique
composer_name varchar(255) YES
active tinyint(1) NO
managed_by_composer tinyint(1) NO
path varchar(255) YES
autoload json NO
author varchar(255) YES
copyright varchar(255) YES
license varchar(255) YES
version varchar(255) NO
upgrade_version varchar(255) YES
icon mediumblob YES
installed_at datetime(3) YES
upgraded_at datetime(3) YES
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for plugin display names and descriptions.

Column Type Nullable Additional
plugin_id binary(16) NO Primary Key Foreign Key → plugin.id
language_id binary(16) NO Primary Key Foreign Key → language.id
label varchar(255) YES
description longtext YES
manufacturer_link text YES
support_link text YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

product

76 columns

Core product entity — the central table for all product data including prices, stock, EAN, and tax assignment.

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
auto_increment int NO Unique
product_number varchar(64) YES Index
active tinyint unsigned YES
parent_id binary(16) YES Index Foreign Key → product.id
parent_version_id binary(16) YES Foreign Key → product.version_id
tax_id binary(16) YES Index Foreign Key → tax.id
product_manufacturer_id binary(16) YES Index Foreign Key → product_manufacturer.id
product_manufacturer_version_id binary(16) YES Foreign Key → product_manufacturer.version_id
delivery_time_id binary(16) YES
deliveryTime binary(16) YES
product_media_id binary(16) YES Index
product_media_version_id binary(16) YES
cms_page_id binary(16) YES Index Foreign Key → cms_page.id
cms_page_version_id binary(16) NO Foreign Key → cms_page.version_id
unit_id binary(16) YES Index Foreign Key → unit.id
product_feature_set_id binary(16) YES Index Foreign Key → product_feature_set.id
category_tree json YES
category_ids json YES
stream_ids json YES
option_ids json YES
property_ids json YES
tax binary(16) YES
manufacturer binary(16) YES
cover binary(16) YES
unit binary(16) YES
media binary(16) YES
prices binary(16) YES
visibilities binary(16) YES
properties binary(16) YES
categories binary(16) YES Index
translations binary(16) YES
price json YES
manufacturer_number varchar(255) YES
ean varchar(255) YES
sales int NO
stock int NO
available_stock int YES
available tinyint(1) NO
restock_time int YES
is_closeout tinyint(1) YES
purchase_steps int unsigned YES
max_purchase int unsigned YES
min_purchase int unsigned YES
purchase_unit decimal(11,4) unsigned YES
reference_unit decimal(10,3) unsigned YES
shipping_free tinyint(1) YES
purchase_prices json YES
mark_as_topseller tinyint unsigned YES
weight decimal(15,6) unsigned YES
width decimal(10,3) unsigned YES
height decimal(10,3) unsigned YES
length decimal(10,3) unsigned YES
release_date datetime(3) YES
tag_ids json YES
tags binary(16) YES
variant_restrictions json YES
created_at datetime(3) YES
updated_at datetime(3) YES
rating_average float YES
display_group varchar(50) YES
child_count int YES
crossSellings binary(16) YES
featureSet binary(16) YES
customFieldSets binary(16) YES
custom_field_set_selection_active tinyint(1) YES
canonical_product_id binary(16) YES Index Foreign Key → product.id
canonical_product_version_id binary(16) YES Foreign Key → product.version_id
canonicalProduct binary(16) YES
cmsPage binary(16) YES
cheapest_price longtext YES
cheapest_price_accessor longtext YES
states json YES
variant_listing_config json YES
type varchar(32) NO Index

Junction table directly assigning products to categories.

Column Type Nullable Additional
product_id binary(16) NO Primary Key Foreign Key → product.id
product_version_id binary(16) NO Primary Key Foreign Key → product.version_id
category_id binary(16) NO Primary Key Foreign Key → category.id
category_version_id binary(16) NO Primary Key Foreign Key → category.version_id

Denormalized product-to-category mapping including inherited parent categories (for fast filtering).

Column Type Nullable Additional
product_id binary(16) NO Primary Key Foreign Key → product.id
product_version_id binary(16) NO Primary Key Foreign Key → product.version_id
category_id binary(16) NO Primary Key Foreign Key → category.id
category_version_id binary(16) NO Primary Key Foreign Key → category.version_id

Variant configuration options (e.g. size: L, color: red) linked to a parent product.

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
product_id binary(16) NO Index Foreign Key → product.id
product_version_id binary(16) NO Foreign Key → product.version_id
property_group_option_id binary(16) NO Index Foreign Key → property_group_option.id
price json YES
position int NO
media_id binary(16) YES Index Foreign Key → media.id
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Cross-selling definitions on products (e.g. 'Accessories', 'Similar items') with sorting and type.

Column Type Nullable Additional
id binary(16) NO Primary Key
type varchar(255) NO
position int NO
sort_by varchar(255) NO
sort_direction varchar(255) NO
active tinyint(1) YES
limit int NO
product_id binary(16) NO Index Foreign Key → product.id
product_version_id binary(16) NO Foreign Key → product.version_id
product_stream_id binary(16) YES Index Foreign Key → product_stream.id
created_at datetime(3) NO
updated_at datetime(3) YES

Manually assigned products within a cross-selling group (when type is 'manual').

Column Type Nullable Additional
id binary(16) NO Primary Key
cross_selling_id binary(16) NO Index Foreign Key → product_cross_selling.id
product_id binary(16) NO Index Foreign Key → product.id
product_version_id binary(16) NO Foreign Key → product.version_id
position int NO
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for cross-selling group names.

Column Type Nullable Additional
product_cross_selling_id binary(16) NO Primary Key Foreign Key → product_cross_selling.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
created_at datetime(3) NO
updated_at datetime(3) YES

Junction table linking products to custom field sets for product-specific custom fields.

Column Type Nullable Additional
custom_field_set_id binary(16) NO Primary Key Foreign Key → custom_field_set.id
product_id binary(16) NO Primary Key Foreign Key → product.id
product_version_id binary(16) NO Primary Key Foreign Key → product.version_id

Digital download files attached to products (for digital/downloadable product types).

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
position int NO
product_id binary(16) NO Index Foreign Key → product.id
product_version_id binary(16) NO Foreign Key → product.version_id
media_id binary(16) NO Index Foreign Key → media.id
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

product_export

21 columns

Product export/feed configurations (e.g. Google Shopping XML) with template, schedule, and Sales Channel.

Column Type Nullable Additional
id binary(16) NO Primary Key
product_stream_id binary(16) NO Index Foreign Key → product_stream.id
storefront_sales_channel_id binary(16) YES Index Foreign Key → sales_channel.id
sales_channel_id binary(16) NO Index Foreign Key → sales_channel.id
sales_channel_domain_id binary(16) YES Index Foreign Key → sales_channel_domain.id
file_name varchar(255) NO Unique
access_key varchar(255) NO
encoding varchar(255) NO
file_format varchar(255) NO
include_variants tinyint(1) YES
generate_by_cronjob tinyint(1) NO
generated_at datetime(3) YES
interval int NO
header_template longtext YES
body_template longtext YES
footer_template longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES
currency_id binary(16) NO
paused_schedule tinyint(1) YES
is_running tinyint(1) NO

Feature sets (essential characteristics) that define which product properties to highlight.

Column Type Nullable Additional
id binary(16) NO Primary Key
features json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for feature set names and descriptions.

Column Type Nullable Additional
product_feature_set_id binary(16) NO Primary Key Foreign Key → product_feature_set.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
description mediumtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

Dictionary of searchable keywords extracted from products (used by the search indexer).

Column Type Nullable Additional
id binary(16) NO Primary Key
language_id binary(16) NO Primary Key Foreign Key → language.id
keyword varchar(500) NO
reversed varchar(500) YES

Product manufacturers/brands with logo, link, and description.

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
media_id binary(16) YES Index Foreign Key → media.id
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for manufacturer names and descriptions.

Column Type Nullable Additional
product_manufacturer_id binary(16) NO Primary Key Foreign Key → product_manufacturer.id
product_manufacturer_version_id binary(16) NO Primary Key Foreign Key → product_manufacturer.version_id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
description longtext YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES
link longtext YES

product_media

9 columns

Product images and media assignments with position ordering and cover flag.

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
position int NO
product_id binary(16) NO Index Foreign Key → product.id
product_version_id binary(16) NO Foreign Key → product.version_id
media_id binary(16) NO Index Foreign Key → media.id
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Links variant products to their selected property group options (e.g. 'Color: Blue').

Column Type Nullable Additional
product_id binary(16) NO Primary Key Foreign Key → product.id
product_version_id binary(16) NO Primary Key Foreign Key → product.version_id
property_group_option_id binary(16) NO Primary Key Foreign Key → property_group_option.id

product_price

11 columns

Advanced pricing rules — quantity-based graduated prices and currency-specific prices per rule.

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
rule_id binary(16) NO Index Foreign Key → rule.id
product_id binary(16) NO Index Foreign Key → product.id
product_version_id binary(16) NO Foreign Key → product.version_id
price json NO
quantity_start int NO
quantity_end int YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Assigns filterable property values (e.g. material, color) to products for faceted search.

Column Type Nullable Additional
product_id binary(16) NO Primary Key Foreign Key → product.id
product_version_id binary(16) NO Primary Key Foreign Key → product.version_id
property_group_option_id binary(16) NO Primary Key Foreign Key → property_group_option.id

product_review

16 columns

Customer product reviews with star rating, title, content, and approval status.

Column Type Nullable Additional
id binary(16) NO Primary Key
product_id binary(16) NO Index Foreign Key → product.id
customer_id binary(16) YES Index Foreign Key → customer.id
sales_channel_id binary(16) YES Index Foreign Key → sales_channel.id
language_id binary(16) YES Index Foreign Key → language.id
external_user varchar(255) YES
external_email varchar(255) YES
title varchar(255) YES
content longtext YES
points double YES
status tinyint(1) YES
comment longtext YES
custom_fields json YES
updated_at datetime(3) YES
created_at datetime(3) NO
product_version_id binary(16) NO Foreign Key → product.version_id

Search configuration per language — ranking weights and behavior for the storefront search.

Column Type Nullable Additional
id binary(16) NO Primary Key
language_id binary(16) NO Unique Foreign Key → language.id
and_logic tinyint(1) NO
min_search_length smallint NO
excluded_terms json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Per-field search configuration (which product fields are searchable, their ranking weight).

Column Type Nullable Additional
id binary(16) NO Primary Key
product_search_config_id binary(16) NO Index Foreign Key → product_search_config.id
custom_field_id binary(16) YES Index Foreign Key → custom_field.id
field varchar(255) NO Index
tokenize tinyint(1) NO
searchable tinyint(1) NO
ranking int NO
created_at datetime(3) NO
updated_at datetime(3) YES

Pre-computed search keywords per product and language for fast full-text search matching.

Column Type Nullable Additional
id binary(16) NO Primary Key
version_id binary(16) NO Primary Key
language_id binary(16) NO Primary Key Foreign Key → language.id
product_id binary(16) NO Index Foreign Key → product.id
product_version_id binary(16) NO Foreign Key → product.version_id
keyword varchar(255) NO Index
ranking double NO
created_at datetime(3) NO
updated_at datetime(3) YES

Custom product listing sort orders (e.g. 'Price ascending', 'Bestseller') for category pages.

Column Type Nullable Additional
id binary(16) NO Primary Key
url_key varchar(255) NO Unique
priority int unsigned NO
active tinyint(1) NO
fields json NO
created_at datetime(3) NO
locked tinyint(1) NO
updated_at datetime(3) YES

Translations for custom product sorting option labels.

Column Type Nullable Additional
product_sorting_id binary(16) NO Primary Key Foreign Key → product_sorting.id
language_id binary(16) NO Primary Key Foreign Key → language.id
label varchar(255) YES
created_at datetime(3) NO
updated_at datetime(3) YES

Dynamic product groups (streams) defined by filter rules — products are matched automatically.

Column Type Nullable Additional
id binary(16) NO Primary Key
api_filter json YES
invalid tinyint(1) NO
created_at datetime(3) NO
updated_at datetime(3) YES
internal tinyint(1) NO

Individual filter conditions within a product stream (e.g. price > 10, manufacturer = X).

Column Type Nullable Additional
id binary(16) NO Primary Key
product_stream_id binary(16) NO Index Foreign Key → product_stream.id
parent_id binary(16) YES Index Foreign Key → product_stream_filter.id
type varchar(255) NO
field varchar(255) YES
operator varchar(255) YES
value longtext YES
parameters longtext YES
position int NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Cached/materialized mapping of products matching a product stream (for performance).

Column Type Nullable Additional
product_id binary(16) NO Primary Key Foreign Key → product.id
product_version_id binary(16) NO Primary Key Foreign Key → product.version_id
product_stream_id binary(16) NO Primary Key Foreign Key → product_stream.id

Translations for product stream names and descriptions.

Column Type Nullable Additional
product_stream_id binary(16) NO Primary Key Foreign Key → product_stream.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
description mediumtext YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

product_tag

3 columns

Junction table linking products to tags.

Column Type Nullable Additional
product_id binary(16) NO Primary Key Foreign Key → product.id
product_version_id binary(16) NO Primary Key Foreign Key → product.version_id
tag_id binary(16) NO Primary Key Foreign Key → tag.id

Translations for product names, descriptions, meta info, custom fields, and keyword lists.

Column Type Nullable Additional
product_id binary(16) NO Primary Key Foreign Key → product.id
product_version_id binary(16) NO Primary Key Foreign Key → product.version_id
language_id binary(16) NO Primary Key Foreign Key → language.id
meta_description varchar(255) YES
name varchar(255) YES
keywords mediumtext YES
description mediumtext YES
meta_title varchar(255) YES
pack_unit varchar(255) YES
custom_fields json YES
slot_config json YES
created_at datetime(3) NO
updated_at datetime(3) YES
pack_unit_plural varchar(255) YES
custom_search_keywords json YES

Controls product visibility per Sales Channel (all, search-only, listing-only, or hidden).

Column Type Nullable Additional
id binary(16) NO Primary Key
product_id binary(16) NO Index Foreign Key → product.id
product_version_id binary(16) NO Foreign Key → product.version_id
sales_channel_id binary(16) NO Index Foreign Key → sales_channel.id
visibility int NO
created_at datetime(3) NO
updated_at datetime(3) YES

promotion

20 columns

Promotion definitions with validity period, usage limits, and exclusion rules.

Column Type Nullable Additional
id binary(16) NO Primary Key
active tinyint(1) NO
valid_from datetime YES
valid_until datetime YES
max_redemptions_global int YES
max_redemptions_per_customer int YES
priority int NO
order_count int NO
orders_per_customer_count json YES
exclusive tinyint(1) NO
code varchar(255) YES Unique
use_codes tinyint(1) NO
created_at datetime(3) NO
updated_at datetime(3) YES
customer_restriction tinyint(1) NO
prevent_combination tinyint(1) NO
exclusion_ids json YES
use_individual_codes tinyint(1) NO
individual_code_pattern varchar(255) YES Unique
use_setgroups tinyint(1) NO

Rules that determine when a promotion's cart conditions are met.

Column Type Nullable Additional
promotion_id binary(16) NO Primary Key Foreign Key → promotion.id
rule_id binary(16) NO Primary Key Foreign Key → rule.id

Discount definitions within a promotion (percentage, absolute, fixed-unit, or free shipping).

Column Type Nullable Additional
id binary(16) NO Primary Key
promotion_id binary(16) NO Index Foreign Key → promotion.id
scope varchar(32) NO
type varchar(32) NO
value double NO
created_at datetime(3) NO
updated_at datetime(3) YES
consider_advanced_rules tinyint(1) NO
max_value float YES
sorter_key varchar(255) YES
applier_key varchar(255) YES
usage_key varchar(255) YES
picker_key varchar(255) YES

Currency-specific absolute discount values for promotions.

Column Type Nullable Additional
id binary(16) NO Primary Key
discount_id binary(16) NO Index Foreign Key → promotion_discount.id
currency_id binary(16) NO Index Foreign Key → currency.id
price float NO
created_at datetime(3) NO
updated_at datetime(3) YES

Additional rule conditions restricting which products a promotion discount applies to.

Column Type Nullable Additional
discount_id binary(16) NO Primary Key Foreign Key → promotion_discount.id
rule_id binary(16) NO Primary Key Foreign Key → rule.id

Individual single-use promotion codes (unique per customer or per use).

Column Type Nullable Additional
id binary(16) NO Primary Key
promotion_id binary(16) NO Index Foreign Key → promotion.id
code varchar(255) YES Unique
payload json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Rules restricting which orders qualify for a promotion (e.g. min order value).

Column Type Nullable Additional
promotion_id binary(16) NO Primary Key Foreign Key → promotion.id
rule_id binary(16) NO Primary Key Foreign Key → rule.id

Directly assigns specific customers who are eligible for a promotion.

Column Type Nullable Additional
promotion_id binary(16) NO Primary Key Foreign Key → promotion.id
customer_id binary(16) NO Primary Key Foreign Key → customer.id

Rule-based customer targeting for promotions (e.g. specific customer groups).

Column Type Nullable Additional
promotion_id binary(16) NO Primary Key Foreign Key → promotion.id
rule_id binary(16) NO Primary Key Foreign Key → rule.id

Links promotions to the Sales Channels where they are active.

Column Type Nullable Additional
id binary(16) NO Primary Key
promotion_id binary(16) NO Index Foreign Key → promotion.id
sales_channel_id binary(16) NO Index Foreign Key → sales_channel.id
priority int NO
created_at datetime(3) NO
updated_at datetime(3) YES

Set group definitions for 'buy X get Y' style promotions (package/group discounts).

Column Type Nullable Additional
id binary(16) NO Primary Key
promotion_id binary(16) NO Index Foreign Key → promotion.id
packager_key varchar(255) NO
sorter_key varchar(255) NO
value double NO
created_at datetime(3) NO
updated_at datetime(3) YES

Rules defining which products qualify for a promotion set group.

Column Type Nullable Additional
setgroup_id binary(16) NO Primary Key Foreign Key → promotion_setgroup.id
rule_id binary(16) NO Primary Key Foreign Key → rule.id

Translations for promotion names.

Column Type Nullable Additional
name varchar(255) YES
promotion_id binary(16) NO Primary Key Foreign Key → promotion.id
language_id binary(16) NO Primary Key Foreign Key → language.id
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Property groups (e.g. 'Color', 'Size', 'Material') used for variants and filterable properties.

Column Type Nullable Additional
id binary(16) NO Primary Key
sorting_type varchar(50) NO
display_type varchar(50) NO
created_at datetime(3) NO
updated_at datetime(3) YES
filterable tinyint(1) NO
visible_on_product_detail_page tinyint(1) YES

Individual options within a property group (e.g. 'Red', 'Blue', 'XL') with optional color/media.

Column Type Nullable Additional
id binary(16) NO Primary Key
property_group_id binary(16) NO Index Foreign Key → property_group.id
color_hex_code varchar(20) YES
media_id binary(16) YES Index Foreign Key → media.id
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for property option names and positions.

Column Type Nullable Additional
property_group_option_id binary(16) NO Primary Key Foreign Key → property_group_option.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
position int NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for property group names and display configuration.

Column Type Nullable Additional
property_group_id binary(16) NO Primary Key Foreign Key → property_group.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
description longtext YES
position int YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

refresh_token

5 columns

OAuth2 refresh tokens for Admin API user sessions.

Column Type Nullable Additional
id binary(16) NO Primary Key
user_id binary(16) NO
token_id varchar(80) NO Unique
issued_at datetime(3) NO
expires_at datetime(3) NO

rule

11 columns

Rule Builder rules — reusable conditions used across promotions, shipping, payment, and flows.

Column Type Nullable Additional
id binary(16) NO Primary Key
name varchar(500) NO
description longtext YES
priority int NO
payload longblob YES
invalid tinyint(1) NO
areas json YES
module_types json YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

rule_condition

10 columns

Individual conditions within a rule (nested tree structure with AND/OR logic).

Column Type Nullable Additional
id binary(16) NO Primary Key
type varchar(255) NO
rule_id binary(16) NO Index Foreign Key → rule.id
script_id binary(16) YES Index Foreign Key → app_script_condition.id
parent_id binary(16) YES Index Foreign Key → rule_condition.id
value json YES
position int NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

rule_tag

2 columns

Junction table linking rules to tags.

Column Type Nullable Additional
rule_id binary(16) NO Primary Key Foreign Key → rule.id
tag_id binary(16) NO Primary Key Foreign Key → tag.id

sales_channel

32 columns

Sales Channel definitions — each represents a distinct storefront, API endpoint, or POS terminal.

Column Type Nullable Additional
id binary(16) NO Primary Key
type_id binary(16) NO Index Foreign Key → sales_channel_type.id
short_name varchar(45) YES
configuration json YES
access_key varchar(255) NO Unique
language_id binary(16) NO Index Foreign Key → language.id
currency_id binary(16) NO Index Foreign Key → currency.id
payment_method_id binary(16) NO Index Foreign Key → payment_method.id
shipping_method_id binary(16) NO Index Foreign Key → shipping_method.id
country_id binary(16) NO Index Foreign Key → country.id
navigation_category_id binary(16) NO Index Foreign Key → category.id
navigation_category_version_id binary(16) NO Foreign Key → category.version_id
navigation_category_depth int NO
hreflang_active tinyint unsigned YES
hreflang_default_domain_id binary(16) YES Index Foreign Key → sales_channel_domain.id
footer_category_id binary(16) YES Index Foreign Key → category.id
footer_category_version_id binary(16) YES Foreign Key → category.version_id
service_category_id binary(16) YES Index Foreign Key → category.id
service_category_version_id binary(16) YES Foreign Key → category.version_id
active tinyint(1) NO
maintenance tinyint(1) NO
maintenance_ip_whitelist json YES
customer_group_id binary(16) NO Index Foreign Key → customer_group.id
mail_header_footer_id binary(16) YES Index Foreign Key → mail_header_footer.id
payment_method_ids json YES
analytics_id binary(16) YES Index Foreign Key → sales_channel_analytics.id
tax_calculation_type varchar(50) NO
created_at datetime(3) NO
updated_at datetime(3) YES
home_cms_page_id binary(16) YES Index Foreign Key → cms_page.id
home_cms_page_version_id binary(16) YES Foreign Key → cms_page.version_id
measurement_units json YES

Google Analytics / tracking configuration per Sales Channel.

Column Type Nullable Additional
id binary(16) NO Primary Key
tracking_id varchar(50) NO
active tinyint(1) NO
track_orders tinyint(1) NO
created_at datetime(3) NO
updated_at datetime(3) YES
anonymize_ip tinyint(1) NO
track_offcanvas_cart tinyint(1) NO

Persisted API context/session data for headless Sales Channel API consumers.

Column Type Nullable Additional
token varchar(255) NO Primary Key
payload json NO
sales_channel_id binary(16) YES Index Foreign Key → sales_channel.id
customer_id binary(16) YES Index Foreign Key → customer.id
updated_at datetime NO

Junction table defining which countries are available in a Sales Channel.

Column Type Nullable Additional
sales_channel_id binary(16) NO Primary Key Foreign Key → sales_channel.id
country_id binary(16) NO Primary Key Foreign Key → country.id

Junction table defining which currencies are available in a Sales Channel.

Column Type Nullable Additional
sales_channel_id binary(16) NO Primary Key Foreign Key → sales_channel.id
currency_id binary(16) NO Primary Key Foreign Key → currency.id

Storefront domains (URLs) assigned to a Sales Channel, each with language and currency.

Column Type Nullable Additional
id binary(16) NO Primary Key
sales_channel_id binary(16) NO Index Foreign Key → sales_channel.id
language_id binary(16) NO Index Foreign Key → language.id
url varchar(255) NO Unique
currency_id binary(16) NO Index Foreign Key → currency.id
snippet_set_id binary(16) NO Index Foreign Key → snippet_set.id
hreflang_use_only_locale tinyint unsigned YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES
measurement_units json YES

Junction table defining which languages are available in a Sales Channel.

Column Type Nullable Additional
sales_channel_id binary(16) NO Primary Key Foreign Key → sales_channel.id
language_id binary(16) NO Primary Key Foreign Key → language.id

Junction table defining which payment methods are available in a Sales Channel.

Column Type Nullable Additional
sales_channel_id binary(16) NO Primary Key Foreign Key → sales_channel.id
payment_method_id binary(16) NO Primary Key Foreign Key → payment_method.id

Junction table defining which shipping methods are available in a Sales Channel.

Column Type Nullable Additional
sales_channel_id binary(16) NO Primary Key Foreign Key → sales_channel.id
shipping_method_id binary(16) NO Primary Key Foreign Key → shipping_method.id

Translations for Sales Channel names, home page metadata, and configuration.

Column Type Nullable Additional
sales_channel_id binary(16) NO Primary Key Foreign Key → sales_channel.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
home_keywords varchar(255) YES
home_meta_description varchar(255) YES
home_meta_title varchar(255) YES
home_name varchar(255) YES
home_enabled tinyint NO
home_slot_config json YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Sales Channel types (Storefront, Headless, Product Comparison, etc.).

Column Type Nullable Additional
id binary(16) NO Primary Key
cover_url varchar(500) YES
icon_name varchar(255) YES
screenshot_urls json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for Sales Channel type names and descriptions.

Column Type Nullable Additional
sales_channel_type_id binary(16) NO Primary Key Foreign Key → sales_channel_type.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
manufacturer varchar(255) YES
description varchar(255) YES
description_long longtext YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

salutation

4 columns

Salutation options (Mr., Mrs., Mx., etc.) used in customer and address forms.

Column Type Nullable Additional
id binary(16) NO Primary Key
salutation_key varchar(255) NO Unique
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for salutation display names and letter salutation patterns.

Column Type Nullable Additional
salutation_id binary(16) NO Primary Key Foreign Key → salutation.id
language_id binary(16) NO Primary Key Foreign Key → language.id
display_name varchar(255) YES
letter_name varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

scheduled_task

10 columns

Registry of periodic background tasks (e.g. cache cleanup, sitemap generation) with their schedules.

Column Type Nullable Additional
id binary(16) NO Primary Key
name varchar(255) NO
scheduled_task_class varchar(512) NO Unique
run_interval int NO
status varchar(255) NO
last_execution_time datetime(3) YES
next_execution_time datetime(3) NO
created_at datetime(3) NO
updated_at datetime(3) YES
default_run_interval int NO

script

8 columns

App scripts (Twig-based) registered for hook execution points (e.g. cart manipulation, custom endpoints).

Column Type Nullable Additional
id binary(16) NO Primary Key
script longtext NO
hook varchar(255) NO Index
name varchar(1024) NO
active tinyint(1) NO
app_id binary(16) YES Index Foreign Key → app.id
created_at datetime(3) NO
updated_at datetime(3) YES

seo_url

13 columns

Generated SEO-friendly URLs for products, categories, and landing pages per Sales Channel and language.

Column Type Nullable Additional
id binary(16) NO Primary Key
language_id binary(16) NO Index Foreign Key → language.id
sales_channel_id binary(16) YES Index Foreign Key → sales_channel.id
foreign_key binary(16) NO Index
route_name varchar(50) NO
path_info varchar(750) NO
seo_path_info varchar(750) NO
is_canonical tinyint(1) YES
is_modified tinyint(1) NO
is_deleted tinyint(1) NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Configurable URL templates (Twig syntax) used to generate SEO URLs for each entity type.

Column Type Nullable Additional
id binary(16) NO Primary Key
sales_channel_id binary(16) YES Index Foreign Key → sales_channel.id
route_name varchar(255) NO
entity_name varchar(64) NO
template varchar(750) YES
is_valid tinyint(1) NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Available shipping methods with delivery time, pricing type, and tax configuration.

Column Type Nullable Additional
id binary(16) NO Primary Key
active tinyint unsigned NO
position int NO
availability_rule_id binary(16) YES Index Foreign Key → rule.id
media_id binary(16) YES Index Foreign Key → media.id
delivery_time_id binary(16) NO Index Foreign Key → delivery_time.id
tax_type varchar(50) YES
tax_id binary(16) YES Index Foreign Key → tax.id
created_at datetime(3) NO
updated_at datetime(3) YES
technical_name varchar(255) NO Unique

Price rules for shipping methods — quantity/price/weight-based graduated shipping costs.

Column Type Nullable Additional
id binary(16) NO Primary Key
shipping_method_id binary(16) NO Index Foreign Key → shipping_method.id
calculation int unsigned YES
rule_id binary(16) YES Index Foreign Key → rule.id
calculation_rule_id binary(16) YES Index Foreign Key → rule.id
currency_price json YES
quantity_start double YES
quantity_end double YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Junction table linking shipping methods to tags.

Column Type Nullable Additional
shipping_method_id binary(16) NO Primary Key Foreign Key → shipping_method.id
tag_id binary(16) NO Primary Key Foreign Key → tag.id

Translations for shipping method names, descriptions, and tracking URLs.

Column Type Nullable Additional
shipping_method_id binary(16) NO Primary Key Foreign Key → shipping_method.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
description mediumtext YES
tracking_url mediumtext YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

snippet

8 columns

Storefront and email text snippets (translations) — key-value pairs per snippet set.

Column Type Nullable Additional
id binary(16) NO Primary Key
translation_key varchar(255) NO
value longtext NO
author varchar(255) NO
snippet_set_id binary(16) NO Index Foreign Key → snippet_set.id
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

snippet_set

7 columns

Named sets of translation snippets (e.g. 'English (US)', 'Deutsch (formal)') linked to locales.

Column Type Nullable Additional
id binary(16) NO Primary Key
name varchar(255) NO
base_file varchar(255) NO
iso varchar(255) NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

state_machine

5 columns

State machine definitions (order, payment, delivery) that govern status transitions.

Column Type Nullable Additional
id binary(16) NO Primary Key
technical_name varchar(255) NO Unique
initial_state_id binary(16) YES Index Foreign Key → state_machine_state.id
created_at datetime(3) NO
updated_at datetime(3) YES

Audit log of all state transitions (who changed what state, when, and via which entity).

Column Type Nullable Additional
id binary(16) NO Primary Key
state_machine_id binary(16) NO Index Foreign Key → state_machine.id
entity_name varchar(100) NO
from_state_id binary(16) NO Index Foreign Key → state_machine_state.id
to_state_id binary(16) NO Index Foreign Key → state_machine_state.id
action_name varchar(255) NO
user_id binary(16) YES Index Foreign Key → user.id
created_at datetime(3) NO
updated_at datetime(3) YES
referenced_id binary(16) NO Index
referenced_version_id binary(16) NO
integration_id binary(16) YES Index Foreign Key → integration.id
internal_comment text YES

Individual states within a state machine (e.g. 'open', 'paid', 'shipped', 'cancelled').

Column Type Nullable Additional
id binary(16) NO Primary Key
technical_name varchar(255) NO Index
state_machine_id binary(16) NO Index Foreign Key → state_machine.id
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for state machine state display names.

Column Type Nullable Additional
language_id binary(16) NO Primary Key Foreign Key → language.id
state_machine_state_id binary(16) NO Primary Key Foreign Key → state_machine_state.id
name varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Allowed transitions between states in a state machine (from → to with action name).

Column Type Nullable Additional
id binary(16) NO Primary Key
action_name varchar(255) NO Index
state_machine_id binary(16) NO Index Foreign Key → state_machine.id
from_state_id binary(16) NO Index Foreign Key → state_machine_state.id
to_state_id binary(16) NO Index Foreign Key → state_machine_state.id
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for state machine names.

Column Type Nullable Additional
language_id binary(16) NO Primary Key Foreign Key → language.id
state_machine_id binary(16) NO Primary Key Foreign Key → state_machine.id
name varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

system_config

6 columns

Key-value system configuration storage (core settings, plugin config, Sales-Channel-specific overrides).

Column Type Nullable Additional
id binary(16) NO Primary Key
configuration_key varchar(255) NO Index
configuration_value json NO
sales_channel_id binary(16) YES Index Foreign Key → sales_channel.id
created_at datetime(3) NO
updated_at datetime(3) YES

tag

4 columns

Reusable tags that can be assigned to products, orders, customers, categories, and other entities.

Column Type Nullable Additional
id binary(16) NO Primary Key
name varchar(255) NO
created_at datetime(3) NO
updated_at datetime(3) YES

tax

7 columns

Tax rate definitions (e.g. 19% standard, 7% reduced) assigned to products.

Column Type Nullable Additional
id binary(16) NO Primary Key
tax_rate decimal(10,3) YES Index
name varchar(255) NO
position int NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

tax_provider

9 columns

External tax calculation providers (apps/plugins that compute tax via API, e.g. Avalara).

Column Type Nullable Additional
id binary(16) NO Primary Key
active tinyint unsigned NO
priority int NO
identifier varchar(255) NO Unique
availability_rule_id binary(16) YES Index Foreign Key → rule.id
app_id binary(16) YES Index Foreign Key → app.id
process_url varchar(255) YES
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for tax provider display names.

Column Type Nullable Additional
tax_provider_id binary(16) NO Primary Key Foreign Key → tax_provider.id
language_id binary(16) NO Primary Key Foreign Key → language.id
name varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

tax_rule

9 columns

Country/region-specific tax rate overrides (e.g. different VAT rates for EU countries).

Column Type Nullable Additional
id binary(16) NO Primary Key
tax_id binary(16) NO Index Foreign Key → tax.id
tax_rule_type_id binary(16) NO Index Foreign Key → tax_rule_type.id
country_id binary(16) NO Index Foreign Key → country.id
tax_rate double(10,3) YES
data json YES
created_at datetime(3) NO
updated_at datetime(3) YES
active_from datetime(3) YES

tax_rule_type

5 columns

Types of tax rules (e.g. 'entire country', 'zip code range', 'individual states').

Column Type Nullable Additional
id binary(16) NO Primary Key
technical_name varchar(255) NO Unique
position int NO
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for tax rule type names.

Column Type Nullable Additional
tax_rule_type_id binary(16) NO Primary Key Foreign Key → tax_rule_type.id
language_id binary(16) NO Primary Key Foreign Key → language.id
type_name varchar(255) YES
created_at datetime(3) NO
updated_at datetime(3) YES

theme

12 columns

Storefront themes with configuration (colors, fonts, layout settings) and parent theme inheritance.

Column Type Nullable Additional
id binary(16) NO Primary Key
technical_name varchar(255) YES Unique
name varchar(255) NO
author varchar(255) NO
preview_media_id binary(16) YES Index Foreign Key → media.id
parent_theme_id binary(16) YES
base_config json YES
config_values json YES
created_at datetime(3) NO
updated_at datetime(3) YES
active tinyint(1) YES
theme_json json YES

theme_child

2 columns

Parent-child relationships between themes (theme inheritance chain).

Column Type Nullable Additional
parent_id binary(16) NO Primary Key Foreign Key → theme.id
child_id binary(16) NO Primary Key Foreign Key → theme.id

theme_media

2 columns

Media files associated with a theme (logos, background images, favicon).

Column Type Nullable Additional
theme_id binary(16) NO Primary Key Foreign Key → theme.id
media_id binary(16) NO Primary Key Foreign Key → media.id

Compiled/resolved theme configuration values used at runtime (cached theme settings).

Column Type Nullable Additional
theme_id binary(16) NO Primary Key
technical_name varchar(255) YES Unique
resolved_config json NO
view_inheritance json NO
script_files json YES
icon_sets json NO
updated_at datetime(3) NO

Links themes to Sales Channels — defines which theme is active on which storefront.

Column Type Nullable Additional
theme_id binary(16) NO Index Foreign Key → theme.id
sales_channel_id binary(16) NO Primary Key Foreign Key → sales_channel.id

Translations for theme labels and descriptions.

Column Type Nullable Additional
theme_id binary(16) NO Primary Key Foreign Key → theme.id
language_id binary(16) NO Primary Key Foreign Key → language.id
description mediumtext YES
labels json YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES
help_texts json YES

unit

3 columns

Measurement units (e.g. liter, kilogram, piece) used for product purchase/reference units.

Column Type Nullable Additional
id binary(16) NO Primary Key
created_at datetime(3) NO
updated_at datetime(3) YES

Translations for unit short codes and names.

Column Type Nullable Additional
unit_id binary(16) NO Primary Key Foreign Key → unit.id
language_id binary(16) NO Primary Key Foreign Key → language.id
short_code varchar(255) YES
name varchar(255) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

Tracks entity deletions for Shopware's anonymous usage data reporting (telemetry).

Column Type Nullable Additional
id binary(16) NO Primary Key
entity_ids json NO
entity_name varchar(255) NO
deleted_at datetime(3) NO

user

17 columns

Administration user accounts — login credentials, locale preference, and admin flag.

Column Type Nullable Additional
id binary(16) NO Primary Key
username varchar(255) NO Unique
password varchar(255) NO
first_name varchar(255) NO
last_name varchar(255) NO
title varchar(255) YES
email varchar(255) NO Unique
active tinyint(1) NO
admin tinyint(1) YES
avatar_id binary(16) YES Index Foreign Key → media.id
locale_id binary(16) NO Index Foreign Key → locale.id
store_token varchar(255) YES
last_updated_password_at datetime(3) YES
time_zone varchar(255) NO
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

API access key pairs (key + secret) for admin users accessing the Admin API.

Column Type Nullable Additional
id binary(16) NO Primary Key
user_id binary(16) NO Index Foreign Key → user.id
access_key varchar(255) NO Index
secret_access_key varchar(255) NO
last_usage_at datetime(3) YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES

user_config

6 columns

Per-user Administration UI preferences (grid column widths, last-visited pages, favorites).

Column Type Nullable Additional
id binary(16) NO Primary Key
user_id binary(16) NO Index Foreign Key → user.id
key varchar(255) NO
value json YES
created_at datetime(3) NO
updated_at datetime(3) YES

user_recovery

5 columns

Password recovery tokens for admin user accounts.

Column Type Nullable Additional
id binary(16) NO Primary Key
user_id binary(16) NO Unique Foreign Key → user.id
hash varchar(255) NO
created_at datetime(3) NO
updated_at datetime(3) YES

version

4 columns

Versioning entity — each entry represents a draft version for the versioned DAL (e.g. order editing).

Column Type Nullable Additional
id binary(16) NO Primary Key
name varchar(255) NO
created_at datetime(3) NO Index
updated_at datetime(3) YES

A single commit (save point) within a version — groups related entity changes together.

Column Type Nullable Additional
id binary(16) NO Primary Key
auto_increment bigint NO Unique
is_merge tinyint(1) NO
message varchar(5000) YES
user_id binary(16) YES
integration_id binary(16) YES
version_id binary(16) NO
created_at datetime(3) NO Index
updated_at datetime(3) YES

Individual entity field changes within a version commit (the actual diff data).

Column Type Nullable Additional
id binary(16) NO Primary Key
auto_increment bigint NO Unique
version_commit_id binary(16) NO Index Foreign Key → version_commit.id
entity_name varchar(100) NO
entity_id json NO
action varchar(100) NO
payload json NO
user_id binary(16) YES
integration_id binary(16) YES
created_at datetime(3) NO
updated_at datetime(3) YES

webhook

10 columns

Registered webhooks (URLs) that receive HTTP callbacks when specified business events occur.

Column Type Nullable Additional
id binary(16) NO Primary Key
name varchar(255) NO Index
event_name varchar(500) NO
url varchar(500) NO
app_id binary(16) YES Index Foreign Key → app.id
active tinyint(1) YES
created_at datetime(3) NO
updated_at datetime(3) YES
error_count int NO
only_live_version tinyint unsigned NO

Log of webhook dispatch attempts with status, response code, and payload info.

Column Type Nullable Additional
id binary(16) NO Primary Key
app_name varchar(255) YES
webhook_name text NO
event_name varchar(255) NO
delivery_status varchar(255) NO
timestamp int YES
processing_time int YES
app_version varchar(255) YES
request_content json YES
response_content json YES
response_status_code int YES
response_reason_phrase varchar(255) YES
url varchar(500) NO
serialized_webhook_message longblob YES
custom_fields json YES
created_at datetime(3) NO
updated_at datetime(3) YES
only_live_version tinyint unsigned NO