Database Schema Shopware 6.4.7.0

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

See what changed since Shopware 6.4.6.1 →

Shopware 6.4.7.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 longtext 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

app

19 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(255) NO
author varchar(255) YES
copyright varchar(255) YES
license varchar(255) YES
privacy varchar(255) YES
version varchar(255) NO
active tinyint(1) NO
configurable tinyint(1) NO
icon mediumblob YES
app_secret varchar(255) YES
modules longtext YES
main_module longtext YES
cookies longtext 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

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
open_new_tab tinyint(1) NO
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) NO
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

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 longtext 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) NO
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(50) NO Primary Key
value longtext NO

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
original_media_id binary(16) YES Index Foreign Key → media.id
created_at datetime(3) NO
updated_at datetime(3) YES

app_template

7 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

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) NO
description longtext YES
privacy_policy_extensions mediumtext YES
custom_fields longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

Category mappings for the (legacy) Shopware Markets / Business Factory marketplace connector.

Column Type Nullable Additional
id binary(16) NO Primary Key
category_id varchar(32) NO
bf_category_id varchar(32) NO
sales_channel_id varchar(32) NO
created_at datetime(3) NO
updated_at datetime(3) YES

bf_config

6 columns

Configuration for the (legacy) Business Factory marketplace integration.

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

Marketplace definitions for the (legacy) Business Factory connector (e.g. Amazon, eBay).

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

Links Business Factory marketplaces to Shopware Sales Channels.

Column Type Nullable Additional
bf_marketplace_id binary(16) NO Index Foreign Key → bf_marketplace.id
sales_channel_id binary(16) NO Index Foreign Key → sales_channel.id

Marketplace-specific settings for the (legacy) Business Factory integration.

Column Type Nullable Additional
id binary(16) NO Primary Key
bf_marketplace_id binary(16) NO Index Foreign Key → bf_marketplace.id
currency_id binary(16) NO Index Foreign Key → currency.id
language_id binary(16) NO Index Foreign Key → language.id
country_id binary(16) NO Index Foreign Key → country.id
created_at datetime(3) NO
updated_at datetime(3) YES

Queue of products scheduled for deletion on external marketplaces via Business Factory.

Column Type Nullable Additional
id binary(16) NO Primary Key
product_id binary(16) NO Index
is_variation tinyint(1) NO
created_at datetime(3) NO
updated_at datetime(3) YES

cart

14 columns

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

Column Type Nullable Additional
token varchar(50) NO Primary Key
name varchar(500) NO
cart longtext NO
price float NO
line_item_count varchar(42) NO
currency_id binary(16) NO Index Foreign Key → currency.id
shipping_method_id binary(16) NO Index Foreign Key → shipping_method.id
payment_method_id binary(16) NO Index Foreign Key → payment_method.id
country_id binary(16) NO Index Foreign Key → country.id
customer_id binary(16) YES Index Foreign Key → customer.id
sales_channel_id binary(16) NO Index Foreign Key → sales_channel.id
rule_ids longtext NO
created_at datetime(3) NO Index
updated_at datetime(3) YES

category

21 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(11) 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(11) unsigned NO Index
active tinyint(1) NO
child_count int(11) unsigned NO
display_nested_products tinyint(1) unsigned NO
visible tinyint(1) unsigned NO
type varchar(32) NO
created_at datetime(3) NO
updated_at datetime(3) YES

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 longtext YES
internal_link binary(16) YES
link_new_tab tinyint(4) 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 longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES
slot_config longtext YES

cms_block

20 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(11) 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
css_class varchar(255) YES
custom_fields longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

cms_page

9 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
config longtext 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 longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

cms_section

17 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(11) 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
css_class varchar(255) YES
custom_fields longtext 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 longtext YES
custom_fields longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

country

17 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(11) NO
tax_free tinyint(1) NO
active tinyint(1) NO
iso3 varchar(45) YES
display_state_in_registration tinyint(1) NO
force_state_in_registration tinyint(1) NO
company_tax_free tinyint(1) NO
check_vat_id_pattern tinyint(1) NO
vat_id_pattern varchar(255) YES
vat_id_required tinyint(1) NO
customer_tax longtext YES
company_tax longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES
shipping_available 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(11) 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 longtext 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
custom_fields longtext 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(11) NO
created_at datetime(3) NO
updated_at datetime(3) YES
item_rounding longtext YES
total_rounding longtext 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 longtext NO
total_rounding longtext 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 longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

custom_field

8 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 longtext 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

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 longtext YES
active tinyint(1) NO
app_id binary(16) YES Index Foreign Key → app.id
position int(11) 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

43 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(20) unsigned NO Unique
customer_group_id binary(16) NO Index Foreign Key → customer_group.id
requested_customer_group_id binary(16) YES Index
default_payment_method_id binary(16) NO Index Foreign Key → payment_method.id
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
title varchar(100) YES
vat_ids longtext 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 longtext YES
newsletter tinyint(1) NO
birthday date YES
last_order_date datetime(3) YES
order_count int(5) NO
order_total_amount double YES
custom_fields longtext 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 longtext YES
bound_sales_channel_id binary(16) YES Index Foreign Key → sales_channel.id

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(35) YES
salutation_id binary(16) YES Index Foreign Key → salutation.id
title varchar(100) YES
first_name varchar(50) NO
last_name varchar(60) NO
street varchar(255) YES
zipcode varchar(50) NO
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 longtext 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 longtext 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 longtext 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

dead_message

14 columns

Failed message queue messages moved here after exceeding retry limits (dead letter queue).

Column Type Nullable Additional
id binary(16) NO Primary Key
original_message_class longtext NO
serialized_original_message longblob NO
handler_class longtext NO
encrypted tinyint(1) NO
error_count int(11) NO
next_execution_time datetime(3) NO
exception longtext NO
exception_message longtext NO
exception_file longtext NO
exception_line int(11) NO
scheduled_task_id binary(16) YES Index Foreign Key → scheduled_task.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(3) NO
max int(3) 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 longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

document

14 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
file_type varchar(255) NO
order_id binary(16) NO Index Foreign Key → order.id
order_version_id binary(16) NO Foreign Key → order.version_id
config longtext 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 longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

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 longtext YES
custom_fields longtext 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) NO
custom_fields longtext 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(11) NO

enqueue

12 columns

Symfony Messenger message queue storage (database transport for async message handling).

Column Type Nullable Additional
id char(36) NO Primary Key
published_at bigint(20) NO
body longtext YES
headers longtext YES
properties longtext YES
redelivered tinyint(1) YES
queue varchar(255) NO
priority smallint(6) YES Index
delayed_until bigint(20) YES
time_to_live bigint(20) YES Index
delivery_id char(36) YES Index
redeliver_after bigint(20) YES Index

event_action

10 columns

Legacy (pre-Flow Builder) event-to-action mappings for business event automation.

Column Type Nullable Additional
id binary(16) NO Primary Key
title varchar(500) YES
event_name varchar(500) NO Index
action_name varchar(500) NO Index
config longtext YES
custom_fields longtext YES
active tinyint(1) NO
migrated_flow_id binary(16) YES
created_at datetime(3) NO
updated_at datetime(3) YES

Rules restricting when a legacy event action should fire.

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

Sales Channel restrictions for legacy event actions.

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

flow

11 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(11) NO
payload longblob YES
invalid tinyint(1) NO
active tinyint(1) NO
custom_fields longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

flow_sequence

12 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
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 longtext YES
position int(11) NO
display_group int(11) NO
true_case tinyint(1) NO
custom_fields longtext 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(11) 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(11) 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 longtext YES
result longtext 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
name varchar(255) YES
system_default tinyint(1) 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 longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES
config longtext YES

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(20) unsigned NO
created_at datetime(3) NO
updated_at datetime(3) YES

integration

11 columns

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

Column Type Nullable Additional
id binary(16) NO Primary Key
write_access tinyint(1) NO
access_key varchar(255) NO Index
secret_access_key varchar(255) NO
label varchar(255) NO
admin tinyint(1) NO
custom_fields longtext 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

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 longtext YES
slot_config longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

language

8 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 Unique Foreign Key → locale.id
custom_fields longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

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 longtext 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 varchar(255) NO
level smallint(6) NO
channel varchar(255) NO
context longtext YES
extra longtext YES
created_at datetime(3) NO
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(1) 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(11) NO

Sales-Channel-specific overrides for which mail template to use per event.

Column Type Nullable Additional
id binary(16) NO Primary Key
mail_template_id binary(16) NO Index Foreign Key → mail_template.id
mail_template_type_id binary(16) NO Index Foreign Key → mail_template_type.id
sales_channel_id binary(16) YES Index Foreign Key → sales_channel.id
created_at datetime(3) NO
updated_at datetime(3) YES

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 longtext 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) NO
custom_fields longtext 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

media

14 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
file_size int(10) unsigned YES
meta_data longtext YES
file_name longtext YES
media_type longblob YES
thumbnails_ro longblob YES
private tinyint(1) NO
uploaded_at datetime(3) YES
created_at datetime(3) NO
updated_at datetime(3) YES

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

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

media_folder

10 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(11) unsigned NO
media_folder_configuration_id binary(16) YES
use_parent_configuration tinyint(1) YES
custom_fields longtext 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(11) YES
media_thumbnail_sizes_ro longblob YES
keep_aspect_ratio tinyint(1) YES
private tinyint(1) YES
no_association tinyint(1) YES
custom_fields longtext 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(10) unsigned NO
height int(10) unsigned NO
custom_fields longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

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

Column Type Nullable Additional
id binary(16) NO Primary Key
width int(11) NO Index
height int(11) NO
custom_fields longtext 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 longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

Statistics and counters for the Symfony Messenger message queue (pending message counts).

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

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(8) 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
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 longtext 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

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(8) 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(8) 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 longtext 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) NO
custom_fields longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

order

32 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
auto_increment bigint(20) unsigned NO Unique
order_number varchar(64) YES
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 longtext NO
order_date_time datetime(3) NO
order_date date YES
amount_total double YES
amount_net double YES
position_price double YES
tax_status varchar(255) YES
shipping_costs longtext NO
shipping_total double YES
deep_link_code varchar(32) YES Index
custom_fields longtext 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 longtext YES
total_rounding longtext YES
rule_ids longtext YES
created_by_id binary(16) YES Index Foreign Key → user.id
updated_by_id binary(16) YES Index Foreign Key → user.id

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(35) YES
salutation_id binary(16) YES Index Foreign Key → salutation.id
title varchar(100) YES
first_name varchar(50) NO
last_name varchar(60) NO
street varchar(255) NO
zipcode varchar(50) NO
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 longtext YES
created_at datetime(3) NO
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 longtext YES
company varchar(255) YES
customer_number varchar(255) YES
custom_fields longtext 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
shipping_order_address_id binary(16) YES Index
shipping_order_address_version_id binary(16) YES
shipping_method_id binary(16) NO Index Foreign Key → shipping_method.id
tracking_codes longtext NO
shipping_date_earliest date NO
shipping_date_latest date NO
shipping_costs longtext NO
custom_fields longtext 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 longtext NO
total_price int(11) YES
unit_price int(11) YES
quantity int(11) YES
custom_fields longtext 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
label varchar(255) NO
description mediumtext YES
cover_id binary(16) YES Index Foreign Key → media.id
quantity int(11) NO
unit_price double YES
total_price double YES
type varchar(255) YES
payload longtext YES
price_definition longtext YES
price longtext NO
stackable tinyint(1) NO
removable tinyint(1) NO
good tinyint(1) NO
position int(11) NO
custom_fields longtext 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 longtext NO
custom_fields longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

payment_method

10 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(11) 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

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 longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

payment_token

2 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

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 longtext 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
changelog longtext YES
custom_fields longtext 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(11) NO Unique
product_number varchar(64) YES Index
active tinyint(3) 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 Foreign Key → product_media.id
product_media_version_id binary(16) YES Foreign Key → product_media.version_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
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 longtext YES
category_ids longtext YES
stream_ids longtext YES
option_ids longtext YES
property_ids longtext 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
translations binary(16) YES
price longtext YES
manufacturer_number varchar(255) YES
ean varchar(255) YES
sales int(11) NO
stock int(11) NO
available_stock int(11) YES
available tinyint(1) NO
restock_time int(11) YES
is_closeout tinyint(1) YES
purchase_steps int(11) unsigned YES
max_purchase int(11) unsigned YES
min_purchase int(11) unsigned YES
purchase_unit decimal(11,4) unsigned YES
reference_unit decimal(10,3) unsigned YES
shipping_free tinyint(1) YES
purchase_prices longtext YES
mark_as_topseller tinyint(1) unsigned YES
weight decimal(10,3) 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
whitelist_ids longtext YES
blacklist_ids longtext YES
tag_ids longtext YES
tags binary(16) YES
variant_restrictions longtext YES
configurator_group_config longtext YES
main_variant_id binary(16) YES Index Foreign Key → product.id
created_at datetime(3) YES
updated_at datetime(3) YES
rating_average float YES
display_group varchar(50) YES
child_count int(11) 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
canonicalProduct binary(16) YES
cmsPage binary(16) YES
cheapest_price longtext YES
cheapest_price_accessor longtext YES

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 longtext YES
position int(11) NO
media_id binary(16) YES Index Foreign Key → media.id
custom_fields longtext 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(11) NO
sort_by varchar(255) NO
sort_direction varchar(255) NO
active tinyint(1) YES
limit int(11) 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(11) 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) NO
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

product_export

20 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(11) 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

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

Column Type Nullable Additional
id binary(16) NO Primary Key
features longtext 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) NO
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
link varchar(255) YES
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 longtext YES
created_at datetime(3) NO
updated_at datetime(3) 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(11) 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 longtext 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 longtext NO
quantity_start int(11) NO
quantity_end int(11) YES
custom_fields longtext 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 longtext 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(6) NO
excluded_terms longtext 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(11) 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(11) unsigned NO
active tinyint(1) NO
fields longtext 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 longtext YES
invalid tinyint(1) NO
created_at datetime(3) NO
updated_at datetime(3) YES

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(11) NO
custom_fields longtext 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 longtext 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 longtext YES
slot_config longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES
pack_unit_plural varchar(255) YES
custom_search_keywords longtext 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(11) NO
created_at datetime(3) NO
updated_at datetime(3) YES

promotion

19 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(11) YES
max_redemptions_per_customer int(11) YES
order_count int(11) NO
orders_per_customer_count longtext 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 longtext 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 longtext 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(11) 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 longtext 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(11) NO
custom_fields longtext 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(11) YES
custom_fields longtext 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

10 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(11) NO
payload longblob YES
invalid tinyint(1) NO
module_types longtext YES
custom_fields longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

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
parent_id binary(16) YES Index Foreign Key → rule_condition.id
value longtext YES
position int(11) NO
custom_fields longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

sales_channel

31 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 longtext 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(11) NO
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
hreflang_active tinyint(1) 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 longtext 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 longtext 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

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

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

Column Type Nullable Additional
token varchar(255) NO Primary Key
payload longtext 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(1) unsigned YES
custom_fields longtext YES
created_at datetime(3) NO
updated_at datetime(3) 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 linking rules to Sales Channels (currently unused, reserved for future use).

Column Type Nullable Additional
rule_id binary(16) NO Primary Key Foreign Key → rule.id
sales_channel_id binary(16) NO Primary Key Foreign Key → sales_channel.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(4) NO
home_slot_config longtext YES
custom_fields longtext 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 longtext 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 longtext 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 longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

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(11) 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

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
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 longtext 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 longtext 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(1) unsigned NO
availability_rule_id binary(16) NO 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

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(1) 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 longtext YES
quantity_start double YES
quantity_end double YES
custom_fields longtext 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 longtext 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 longtext 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 longtext 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
entity_id longtext 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

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) NO
custom_fields longtext 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 longtext 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) NO
custom_fields longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

PayPal POS (Zettle) Sales Channel configuration — links Shopware to a Zettle terminal.

Column Type Nullable Additional
id binary(16) NO Primary Key
sales_channel_id binary(16) NO Index Foreign Key → sales_channel.id
product_stream_id binary(16) YES Index Foreign Key → product_stream.id
api_key varchar(8192) NO
media_domain varchar(255) YES
webhook_signing_key varchar(64) YES
sync_prices tinyint(1) NO
replace tinyint(1) NO
created_at datetime(3) NO
updated_at datetime(3) YES

Inventory sync state between Shopware and PayPal Zettle POS.

Column Type Nullable Additional
sales_channel_id binary(16) NO Primary Key Foreign Key → sales_channel.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
stock int(11) NO
updated_at datetime(3) YES

Media sync tracking for product images pushed to PayPal Zettle.

Column Type Nullable Additional
sales_channel_id binary(16) NO Primary Key Foreign Key → sales_channel.id
media_id binary(16) NO Primary Key Foreign Key → media.id
lookup_key varchar(255) YES
url varchar(255) YES
created_at datetime(3) NO

Product sync mapping between Shopware products and PayPal Zettle catalog items.

Column Type Nullable Additional
sales_channel_id binary(16) NO Primary Key Foreign Key → sales_channel.id
product_id binary(16) NO Primary Key
product_version_id binary(16) NO Primary Key
checksum char(32) NO
created_at datetime(3) NO
updated_at datetime(3) YES

Sync run records for PayPal Zettle POS integration (start time, status, type).

Column Type Nullable Additional
id binary(16) NO Primary Key
sales_channel_id binary(16) NO Index Foreign Key → sales_channel.id
task varchar(16) NO
created_at datetime(3) NO
updated_at datetime(3) YES
finished_at datetime(3) YES
status varchar(255) NO
message_count int(11) NO

Detailed log entries for each PayPal Zettle POS sync run.

Column Type Nullable Additional
id binary(16) NO Primary Key
run_id binary(16) NO Index Foreign Key → swag_paypal_pos_sales_channel_run.id
level smallint(6) NO
message longtext NO
product_id binary(16) YES Index Foreign Key → product.id
product_version_id binary(16) YES Index Foreign Key → product.version_id
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 longtext 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,2) NO Index
name varchar(255) NO
position int(11) NO
custom_fields longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

tax_rule

8 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,2) NO
data longtext YES
created_at datetime(3) NO
updated_at 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(11) 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) NO
created_at datetime(3) NO
updated_at datetime(3) YES

theme

11 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 longtext YES
config_values longtext YES
active tinyint(1) NO
created_at datetime(3) NO
updated_at datetime(3) YES

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

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 longtext YES
help_texts longtext YES
custom_fields longtext YES
created_at datetime(3) NO
updated_at datetime(3) 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 longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES

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 longtext 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
write_access tinyint(1) NO
access_key varchar(255) NO Index
secret_access_key varchar(255) NO
last_usage_at datetime(3) YES
custom_fields longtext 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 longtext 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(20) 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(20) NO Unique
version_commit_id binary(16) NO Index Foreign Key → version_commit.id
entity_name varchar(100) NO
entity_id longtext NO
action varchar(100) NO
payload longtext NO
user_id binary(16) YES
integration_id binary(16) YES
created_at datetime(3) NO
updated_at datetime(3) YES

webhook

9 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(11) 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(11) YES
processing_time int(11) YES
app_version varchar(255) YES
request_content longtext YES
response_content longtext YES
response_status_code int(11) YES
response_reason_phrase varchar(255) YES
url varchar(500) NO
serialized_webhook_message longblob YES
custom_fields longtext YES
created_at datetime(3) NO
updated_at datetime(3) YES