digraph schema { graph [rankdir=TB, splines=spline, overlap=false, bgcolor="#1e2430", nodesep=0.95, ranksep=1.0, pad=0.5, fontname="Helvetica", compound=true, mclimit=1.0]; node [shape=plaintext, fontname="Helvetica"]; edge [fontname="Helvetica", fontsize=9, penwidth=1.4, arrowsize=0.7]; subgraph cluster_identity { label="Identity & Company"; labeljust="l"; fontsize=15; style="rounded,filled"; fillcolor="#202a3a"; color="#3f4c5f"; fontcolor="#e2e8f0"; margin=14; customergroup [label=<
customergroup
idINT PK
company_id?INT FK
nameNVARCHAR(255)
sortINT
updated_atDATETIME2
>]; meta [label=<
meta
keyNVARCHAR(255)
valueNVARCHAR(MAX)
>]; companyhistory [label=<
companyhistory
idINT PK
company_idINT FK
companyuser_id?INT FK
dateDATETIME2
textNVARCHAR(MAX)
>]; company [label=<
company
idINT PK
poscustomergroup_idINT FK
taxrate?INT FK
reducedtaxrate?INT FK
taxfreerate?INT FK
root_category_id?INT FK
default_language_id?INT FK
nameNVARCHAR(255)
>]; numbers [label=<
numbers
idINT PK
company_idINT FK
typeNVARCHAR(100)
prefixNVARCHAR(50)
paddingINT
nextINT
>]; entityaddress [label=<
entityaddress
idINT PK
entity_idINT FK
first_name?NVARCHAR(255)
name?NVARCHAR(255)
street?NVARCHAR(255)
streetnumber?NVARCHAR(50)
zip?NVARCHAR(50)
city?NVARCHAR(255)
county?NVARCHAR(255)
addresstypeNVARCHAR(50)
sortINT
>]; entity [label=<
entity
idINT PK
customergroup_idINT FK
first_name?NVARCHAR(255)
nameNVARCHAR(255)
number?NVARCHAR(100)
created_atDATETIME2
updated_atDATETIME2
>]; companysetting [label=<
companysetting
idINT PK
company_idINT FK
keyNVARCHAR(255)
valueNVARCHAR(MAX)
frontendBIT
writeonlyBIT
>]; entitycontact [label=<
entitycontact
idINT PK
entity_idINT FK
contacttypeNVARCHAR(50)
contactNVARCHAR(255)
sortINT
>]; companyuser [label=<
companyuser
idINT PK
company_idINT FK
google_auth_idINT FK
>]; entityhistory [label=<
entityhistory
idINT PK
entity_idINT FK
companyuser_id?INT FK
dateDATETIME2
textNVARCHAR(MAX)
>]; google_auth [label=<
google_auth
idINT PK
selected_company?INT FK
emailNVARCHAR(320)
picture?NVARCHAR(2048)
picturebinary?VARBINARY(MAX)
sub?NVARCHAR(255)
created_atDATETIME2
>]; } subgraph cluster_i18n { label="Localization"; labeljust="l"; fontsize=15; style="rounded,filled"; fillcolor="#202a3a"; color="#3f4c5f"; fontcolor="#e2e8f0"; margin=14; language [label=<
language
idINT PK
iso639NVARCHAR(10)
>]; categorytext [label=<
categorytext
idINT PK
category_idINT FK
language_idINT FK
nameNVARCHAR(255)
slugNVARCHAR(255)
seo?NVARCHAR(MAX)
desc?NVARCHAR(MAX)
>]; articletext [label=<
articletext
idINT PK
article_idINT FK
language_idINT FK
nameNVARCHAR(255)
slugNVARCHAR(255)
seo?NVARCHAR(MAX)
desc?NVARCHAR(MAX)
>]; unittext [label=<
unittext
idINT PK
language_idINT FK
unit_idINT FK
symbolNVARCHAR(50)
nameNVARCHAR(255)
>]; } subgraph cluster_catalog { label="Catalog"; labeljust="l"; fontsize=15; style="rounded,filled"; fillcolor="#202a3a"; color="#3f4c5f"; fontcolor="#e2e8f0"; margin=14; categoryarticle [label=<
categoryarticle
idINT PK
category_idINT FK
article_idINT FK
>]; category [label=<
category
idINT PK
parent_id?INT FK
sortINT
updated_atDATETIME2
>]; articlehistory [label=<
articlehistory
idINT PK
companyuser_id?INT FK
article_idINT FK
dateDATETIME2
textNVARCHAR(MAX)
meta?NVARCHAR(MAX)
>]; article [label=<
article
idINT PK
company_idINT FK
parentattributename_id?INT FK
parentarticle_id?INT FK
articlelist_id?INT FK
optionslist_id?INT FK
brand_id?INT FK
unit_idINT FK
sku?NVARCHAR(100)
unitamountFLOAT
weightFLOAT
track_stockBIT
is_parentBIT
parentsortINT
created_atDATETIME2
updated_atDATETIME2
>]; articleean [label=<
articleean
idINT PK
article_idINT FK
eanNVARCHAR(50)
>]; articlesupplier [label=<
articlesupplier
idINT PK
entity_idINT FK
tax_id?INT FK
article_idINT FK
net?FLOAT
sku?NVARCHAR(100)
stock?FLOAT
puFLOAT
sortINT
>]; articlelist [label=<
articlelist
idINT PK
>]; articlelistarticle [label=<
articlelistarticle
idINT PK
article_idINT FK
articlelist_idINT FK
countINT
sortINT
>]; optionslist [label=<
optionslist
idINT PK
>]; optionslistarticle [label=<
optionslistarticle
idINT PK
article_idINT FK
optionslist_idINT FK
countINT
sortINT
mandatedBIT
>]; brand [label=<
brand
idINT PK
company_idINT FK
nameNVARCHAR(255)
gsprpinfo?NVARCHAR(MAX)
>]; } subgraph cluster_media { label="Media"; labeljust="l"; fontsize=15; style="rounded,filled"; fillcolor="#202a3a"; color="#3f4c5f"; fontcolor="#e2e8f0"; margin=14; pic [label=<
pic
idINT PK
wINT
hINT
sizeBIGINT
hashNVARCHAR(64)
thumbwINT
thumbhINT
thumbhashNVARCHAR(64)
smallthumbwINT
smallthumbhINT
sourceNVARCHAR(MAX)
fullbinaryVARBINARY(MAX)
thumbbinaryVARBINARY(MAX)
smallthumbbinaryVARBINARY(MAX)
>]; attributevaluepic [label=<
attributevaluepic
idINT PK
attributevalue_idINT FK
pic_idINT FK
sortINT
>]; categorypic [label=<
categorypic
idINT PK
category_idINT FK
pic_idINT FK
sortINT
>]; articlepic [label=<
articlepic
idINT PK
article_idINT FK
pic_idINT FK
sortINT
>]; brandpic [label=<
brandpic
idINT PK
pic_idINT FK
brand_idINT FK
sortINT
>]; file [label=<
file
idINT PK
hashNVARCHAR(64)
mimetypeNVARCHAR(255)
nameNVARCHAR(255)
sizeBIGINT
createdDATETIME2
modifiedDATETIME2
contentVARBINARY(MAX)
thumbavif?VARBINARY(MAX)
thumbx?INT
thumby?INT
meta?NVARCHAR(MAX)
>]; } subgraph cluster_manifests { label="Documents & Shipping"; labeljust="l"; fontsize=15; style="rounded,filled"; fillcolor="#202a3a"; color="#3f4c5f"; fontcolor="#e2e8f0"; margin=14; deliverysummary [label=<
deliverysummary
idINT PK
company_idINT FK
supplier_id?INT FK
manifest_idINT FK
delivery_numberNVARCHAR(100)
external_number?NVARCHAR(100)
delivery_dateDATETIME2
created_atDATETIME2
supplier_name?NVARCHAR(255)
positionsINT
gross_totalFLOAT
net_totalFLOAT
total_quantityFLOAT
stock_positionsINT
booked_positionsINT
unbooked_positionsINT
stock_quantityFLOAT
booked_quantityFLOAT
unbooked_quantityFLOAT
is_bookedTINYINT
>]; ordersummary [label=<
ordersummary
idINT PK
company_idINT FK
entity_id?INT FK
manifest_idINT FK
order_numberNVARCHAR(100)
order_dateDATETIME2
created_atDATETIME2
customer_name?NVARCHAR(255)
positionsINT
gross_totalFLOAT
paid_totalFLOAT
ordered_quantityFLOAT
shipped_quantityFLOAT
is_paidTINYINT
is_shippedTINYINT
>]; quotesummary [label=<
quotesummary
idINT PK
company_idINT FK
entity_id?INT FK
manifest_idINT FK
quote_numberNVARCHAR(100)
quote_dateDATETIME2
created_atDATETIME2
customer_name?NVARCHAR(255)
positionsINT
gross_totalFLOAT
total_quantityFLOAT
>]; shipmentsummary [label=<
shipmentsummary
idINT PK
company_idINT FK
entity_id?INT FK
manifest_idINT FK
shipment_numberNVARCHAR(100)
shipment_dateDATETIME2
created_atDATETIME2
order_id?INT
order_number?NVARCHAR(100)
customer_name?NVARCHAR(255)
positionsINT
total_quantityFLOAT
package_countINT
carrier?NVARCHAR(100)
tracking_code?NVARCHAR(255)
stateNVARCHAR(50)
>]; package [label=<
package
idINT PK
entityaddress_idINT FK
shipping_idINT FK
numberNVARCHAR(100)
typeNVARCHAR(100)
stateNVARCHAR(100)
details?NVARCHAR(MAX)
>]; manifestarticle [label=<
manifestarticle
idINT PK
manifest_idINT FK
sku?NVARCHAR(100)
name?NVARCHAR(255)
puFLOAT
amountFLOAT
netFLOAT
comment?NVARCHAR(MAX)
rebateFLOAT
taxrateFLOAT
shippableTINYINT
>]; manifest [label=<
manifest
idINT PK
company_idINT FK
entity_id?INT FK
numberNVARCHAR(100)
typeNVARCHAR(100)
external_number?NVARCHAR(100)
dateDATETIME2
created_atDATETIME2
>]; manifestattachment [label=<
manifestattachment
idINT PK
manifest_idINT FK
file_idINT FK
sortINT
>]; shipping [label=<
shipping
idINT PK
carrier_idINT FK
manifest_idINT FK
numberNVARCHAR(100)
tracking_code?NVARCHAR(255)
typeNVARCHAR(100)
stateNVARCHAR(100)
>]; warehouse [label=<
warehouse
idINT PK
company_idINT FK
nameNVARCHAR(255)
sortINT
>]; ledger [label=<
ledger
idINT PK
manifestarticle_idINT FK
warehouse_id?INT FK
transaction_typeNVARCHAR(100)
amountFLOAT
transaction_textNVARCHAR(MAX)
hash_versionINT
prev_hash?NVARCHAR(128)
created_atDATETIME2
>]; articlewarehousesummary [label=<
articlewarehousesummary
idINT PK
warehouse_idINT FK
article_idINT FK
stockFLOAT
>]; } subgraph cluster_commerce { label="Pricing & Payments"; labeljust="l"; fontsize=15; style="rounded,filled"; fillcolor="#202a3a"; color="#3f4c5f"; fontcolor="#e2e8f0"; margin=14; tax [label=<
tax
idINT PK
rateDECIMAL(18,4)
>]; payment [label=<
payment
idINT PK
manifest_idINT FK
account_idINT FK
typeNVARCHAR(100)
amountFLOAT
>]; account [label=<
account
idINT PK
company_idINT FK
typeNVARCHAR(100)
nameNVARCHAR(255)
>]; price [label=<
price
idINT PK
customergroup_idINT FK
tax_idINT FK
article_idINT FK
minmultiplierDECIMAL(18,4)
netFLOAT
>]; } subgraph cluster_units { label="Units"; labeljust="l"; fontsize=15; style="rounded,filled"; fillcolor="#202a3a"; color="#3f4c5f"; fontcolor="#e2e8f0"; margin=14; unit [label=<
unit
idINT PK
company_idINT FK
siNVARCHAR(50)
basesiNVARCHAR(50)
basesifactorFLOAT
>]; } subgraph cluster_pos { label="POS"; labeljust="l"; fontsize=15; style="rounded,filled"; fillcolor="#202a3a"; color="#3f4c5f"; fontcolor="#e2e8f0"; margin=14; printer [label=<
printer
idINT PK
company_idINT FK
addressNVARCHAR(255)
typeNVARCHAR(50)
model?NVARCHAR(255)
serial?NVARCHAR(255)
sortINT
desc?NVARCHAR(MAX)
>]; labeltemplate [label=<
labeltemplate
idINT PK
company_idINT FK
nameNVARCHAR(255)
widthINT
heightINT
dpiINT
typeNVARCHAR(50)
contentNVARCHAR(MAX)
thumb?VARBINARY(MAX)
>]; posterminalobituary [label=<
posterminalobituary
idINT PK
posterminal_idINT FK
entity_typeNVARCHAR(50)
entity_idINT
created_atDATETIME2
>]; posterminal [label=<
posterminal
idINT PK
company_idINT FK
root_category_id?INT FK
nameNVARCHAR(255)
token?NVARCHAR(255)
pairingpin?NVARCHAR(50)
paired_at?DATETIME2
clientserial?NVARCHAR(255)
maxknownobituaryid?INT
sync_root_articlesBIT
lastseen_at?DATETIME2
updated_atDATETIME2
>]; posterminalcategory [label=<
posterminalcategory
idINT PK
posterminal_idINT FK
category_idINT FK
>]; } subgraph cluster_ai { label="AI & Models"; labeljust="l"; fontsize=15; style="rounded,filled"; fillcolor="#202a3a"; color="#3f4c5f"; fontcolor="#e2e8f0"; margin=14; modelvfs [label=<
modelvfs
idINT PK
company_idINT FK
nameNVARCHAR(255)
mimeNVARCHAR(100)
contentVARBINARY(MAX)
metaNVARCHAR(MAX)
created_atDATETIME2
updated_atDATETIME2
>]; subagentschedule [label=<
subagentschedule
idINT PK
company_idINT FK
desc?NVARCHAR(MAX)
promptNVARCHAR(MAX)
skills?NVARCHAR(MAX)
lastagentnote?NVARCHAR(MAX)
max_itrINT
cronNVARCHAR(100)
created_atDATETIME2
lastrun_at?DATETIME2
>]; modelconversation [label=<
modelconversation
idINT PK
companyuser_idINT FK
providerNVARCHAR(100)
modelNVARCHAR(255)
created_atDATETIME2
updated_atDATETIME2
stateNVARCHAR(20)
started_by?INT
>]; modelmessage [label=<
modelmessage
idINT PK
conversation_idINT FK
created_atDATETIME2
roleNVARCHAR(20)
messageNVARCHAR(MAX)
>]; } subgraph cluster_attributes { label="Properties & Attributes"; labeljust="l"; fontsize=15; style="rounded,filled"; fillcolor="#202a3a"; color="#3f4c5f"; fontcolor="#e2e8f0"; margin=14; attributevalue [label=<
attributevalue
idINT PK
attribute_idINT FK
valueNVARCHAR(255)
sortINT
>]; attributename [label=<
attributename
idINT PK
company_idINT FK
nameNVARCHAR(255)
sortINT
exclusiveBIT
>]; propertyname [label=<
propertyname
idINT PK
company_idINT FK
nameNVARCHAR(255)
sortINT
exclusiveBIT
>]; categoryproperty [label=<
categoryproperty
idINT PK
property_idINT FK
category_idINT FK
valueNVARCHAR(MAX)
sortINT
>]; categoryattributevalue [label=<
categoryattributevalue
idINT PK
attributevalue_idINT FK
category_idINT FK
sortINT
>]; articleproperty [label=<
articleproperty
idINT PK
property_idINT FK
article_idINT FK
valueNVARCHAR(MAX)
sortINT
>]; articleattributevalue [label=<
articleattributevalue
idINT PK
attributevalue_idINT FK
article_idINT FK
sortINT
>]; } carrier [label=<
carrier
idINT PK
company_idINT FK
nameNVARCHAR(255)
sortINT
has_packagesBIT
is_reverseBIT
>]; mcp_auth_code [label=<
mcp_auth_code
codeNVARCHAR(128) PK
google_auth_idINT FK
client_idNVARCHAR(100)
redirect_uriNVARCHAR(2048)
code_challengeNVARCHAR(255)
code_challenge_methodNVARCHAR(32)
scope?NVARCHAR(255)
expires_atDATETIME2
usedTINYINT
created_atDATETIME2
>]; mcp_token [label=<
mcp_token
idINT PK
google_auth_idINT FK
refresh_tokenNVARCHAR(128)
client_idNVARCHAR(100)
scope?NVARCHAR(255)
expires_atDATETIME2
revokedTINYINT
created_atDATETIME2
>]; mcp_client [label=<
mcp_client
idINT PK
client_idNVARCHAR(100)
client_secret?NVARCHAR(255)
client_nameNVARCHAR(255)
redirect_urisNVARCHAR(MAX)
grant_types?NVARCHAR(255)
response_types?NVARCHAR(255)
scope?NVARCHAR(255)
created_atDATETIME2
>]; healthcheck [label=<
healthcheck
idINT PK
sequenceBIGINT
updated_atDATETIME2
>]; __legend [label=<
Legend
PKprimary key
FKforeign key
?nullable column
—FOREIGN KEY constraint
- -naming convention only, no constraint
>]; google_auth:selected_company:w -> company:in11:n [color="#ff6b6b", fontcolor="#ff6b6b", tooltip="FK_google_auth_selected_company", weight=3]; category:parent_id:e -> category:id:e [color="#6bdf9a", fontcolor="#6bdf9a", tooltip="FK_category_parent", constraint=false]; company:root_category_id:w -> category:in1:n [color="#5aa7ff", fontcolor="#5aa7ff", tooltip="FK_company_root_category", weight=3]; company:default_language_id:w -> language:in0:n [color="#f5c15c", fontcolor="#f5c15c", tooltip="FK_company_default_language", constraint=false, weight=1]; company:taxrate:w -> tax:in2:n [color="#c79bff", fontcolor="#c79bff", tooltip="FK_company_taxrate", constraint=false, weight=1]; company:reducedtaxrate:w -> tax:in0:n [color="#ff9f5a", fontcolor="#ff9f5a", tooltip="FK_company_reducedtaxrate", constraint=false, weight=1]; company:taxfreerate:w -> tax:in1:n [color="#5cd6d6", fontcolor="#5cd6d6", tooltip="FK_company_taxfreerate", constraint=false, weight=1]; customergroup:company_id:nw -> company:in6:n [color="#ff7fc2", fontcolor="#ff7fc2", tooltip="FK_customergroup_company", weight=3]; company:poscustomergroup_id:nw -> customergroup:in0:n [color="#8f95ff", fontcolor="#8f95ff", tooltip="FK_company_poscustomergroup", constraint=false, weight=1]; entity:customergroup_id:w -> customergroup:in2:n [color="#58d18a", fontcolor="#58d18a", tooltip="FK_entity_customergroup", weight=3]; entityaddress:entity_id:sw -> entity:in0:n [color="#ff8f66", fontcolor="#ff8f66", tooltip="FK_entityaddress_entity", weight=3]; entitycontact:entity_id:se -> entity:in1:n [color="#4fc4e8", fontcolor="#4fc4e8", tooltip="FK_entitycontact_entity", weight=3]; entityhistory:entity_id:w -> entity:in2:n [color="#a98cff", fontcolor="#a98cff", tooltip="FK_entityhistory_entity", weight=3]; entityhistory:companyuser_id:se -> companyuser:in3:n [color="#ff6f6f", fontcolor="#ff6f6f", tooltip="FK_entityhistory_companyuser", constraint=false, weight=1]; unit:company_id:e -> company:in23:n [color="#4ecb8f", fontcolor="#4ecb8f", tooltip="FK_unit_company", weight=3]; unittext:unit_id:se -> unit:in1:n [color="#5aa7e6", fontcolor="#5aa7e6", tooltip="FK_unittext_unit", weight=3]; unittext:language_id:e -> language:in3:n [color="#ff7aa8", fontcolor="#ff7aa8", tooltip="FK_unittext_language", constraint=false, weight=1]; brand:company_id:e -> company:in22:n [color="#e0b25a", fontcolor="#e0b25a", tooltip="FK_brand_company", weight=3]; article:company_id:w -> company:in21:n [color="#56c8c8", fontcolor="#56c8c8", tooltip="FK_article_company", weight=3]; article:unit_id:e -> unit:in0:n [color="#ff5f9e", fontcolor="#ff5f9e", tooltip="FK_article_unit", constraint=false, weight=1]; article:brand_id:w -> brand:in0:n [color="#ffb25a", fontcolor="#ffb25a", tooltip="FK_article_brand", constraint=false, weight=1]; article:articlelist_id:w -> articlelist:in1:n [color="#56d68a", fontcolor="#56d68a", tooltip="FK_article_articlelist", constraint=false, weight=1]; article:optionslist_id:w -> optionslist:in0:n [color="#66b3ff", fontcolor="#66b3ff", tooltip="FK_article_optionslist", constraint=false, weight=1]; article:parentarticle_id:e -> article:id:e [color="#c79bff", fontcolor="#c79bff", tooltip="FK_article_parentarticle", constraint=false]; article:parentattributename_id:se -> attributename:in0:n [color="#ff6b6b", fontcolor="#ff6b6b", tooltip="FK_article_parentattributename", constraint=false, weight=1]; article:parentattributename_id:se -> attributename:in0:n [color="#ff6b6b", fontcolor="#ff6b6b", tooltip="FK_article_parentattributename", constraint=false, weight=1]; articlehistory:article_id:sw -> article:in3:n [color="#6bdf9a", fontcolor="#6bdf9a", tooltip="FK_articlehistory_article", weight=3]; articlehistory:companyuser_id:e -> companyuser:in2:n [color="#5aa7ff", fontcolor="#5aa7ff", tooltip="FK_articlehistory_companyuser", constraint=false, weight=1]; companyhistory:company_id:sw -> company:in7:n [color="#f5c15c", fontcolor="#f5c15c", tooltip="FK_companyhistory_company", weight=3]; companyhistory:companyuser_id:e -> companyuser:in0:n [color="#c79bff", fontcolor="#c79bff", tooltip="FK_companyhistory_companyuser", constraint=false, weight=1]; posterminalobituary:posterminal_id:se -> posterminal:in1:n [color="#ff9f5a", fontcolor="#ff9f5a", tooltip="FK_posterminalobituary_posterminal", weight=3]; articleean:article_id:se -> article:in7:n [color="#5cd6d6", fontcolor="#5cd6d6", tooltip="FK_articleean_article", weight=3]; articlepic:article_id:sw -> article:in11:n [color="#ff7fc2", fontcolor="#ff7fc2", tooltip="FK_articlepic_article", weight=3]; articlepic:pic_id:e -> pic:in2:n [color="#8f95ff", fontcolor="#8f95ff", tooltip="FK_articlepic_pic", constraint=false, weight=1]; brandpic:brand_id:sw -> brand:in1:n [color="#58d18a", fontcolor="#58d18a", tooltip="FK_brandpic_brand", weight=3]; brandpic:pic_id:w -> pic:in3:n [color="#ff8f66", fontcolor="#ff8f66", tooltip="FK_brandpic_pic", constraint=false, weight=1]; attributevaluepic:attributevalue_id:e -> attributevalue:in2:n [color="#4fc4e8", fontcolor="#4fc4e8", tooltip="FK_attributevaluepic_attributevalue", weight=3]; attributevaluepic:pic_id:w -> pic:in0:n [color="#a98cff", fontcolor="#a98cff", tooltip="FK_attributevaluepic_pic", constraint=false, weight=1]; articlelistarticle:articlelist_id:se -> articlelist:in0:n [color="#ff6f6f", fontcolor="#ff6f6f", tooltip="FK_articlelistarticle_articlelist", weight=3]; articlelistarticle:article_id:w -> article:in9:n [color="#4ecb8f", fontcolor="#4ecb8f", tooltip="FK_articlelistarticle_article", constraint=false, weight=1]; optionslistarticle:optionslist_id:sw -> optionslist:in1:n [color="#5aa7e6", fontcolor="#5aa7e6", tooltip="FK_optionslistarticle_optionslist", weight=3]; optionslistarticle:article_id:e -> article:in10:n [color="#ff7aa8", fontcolor="#ff7aa8", tooltip="FK_optionslistarticle_article", constraint=false, weight=1]; categoryarticle:category_id:se -> category:in5:n [color="#e0b25a", fontcolor="#e0b25a", tooltip="FK_categoryarticle_category", weight=3]; categoryarticle:article_id:sw -> article:in4:n [color="#56c8c8", fontcolor="#56c8c8", tooltip="FK_categoryarticle_article", constraint=false, weight=1]; categorypic:category_id:sw -> category:in7:n [color="#ff5f9e", fontcolor="#ff5f9e", tooltip="FK_categorypic_category", weight=3]; categorypic:pic_id:e -> pic:in1:n [color="#ffb25a", fontcolor="#ffb25a", tooltip="FK_categorypic_pic", constraint=false, weight=1]; categorytext:category_id:w -> category:in8:n [color="#56d68a", fontcolor="#56d68a", tooltip="FK_categorytext_category", weight=3]; categorytext:language_id:e -> language:in1:n [color="#66b3ff", fontcolor="#66b3ff", tooltip="FK_categorytext_language", constraint=false, weight=1]; articletext:article_id:e -> article:in12:n [color="#c79bff", fontcolor="#c79bff", tooltip="FK_articletext_article", weight=3]; articletext:language_id:w -> language:in2:n [color="#ff6b6b", fontcolor="#ff6b6b", tooltip="FK_articletext_language", constraint=false, weight=1]; price:tax_id:w -> tax:in3:n [color="#6bdf9a", fontcolor="#6bdf9a", tooltip="FK_price_tax", constraint=false, weight=1]; price:article_id:nw -> article:in5:n [color="#5aa7ff", fontcolor="#5aa7ff", tooltip="FK_price_article", weight=3]; price:customergroup_id:e -> customergroup:in1:n [color="#f5c15c", fontcolor="#f5c15c", tooltip="FK_price_customergroup", constraint=false, weight=1]; articlesupplier:article_id:se -> article:in8:n [color="#c79bff", fontcolor="#c79bff", tooltip="FK_articlesupplier_article", weight=3]; articlesupplier:entity_id:e -> entity:in8:n [color="#ff9f5a", fontcolor="#ff9f5a", tooltip="FK_articlesupplier_entity", constraint=false, weight=1]; articlesupplier:tax_id:e -> tax:in4:n [color="#5cd6d6", fontcolor="#5cd6d6", tooltip="FK_articlesupplier_tax", constraint=false, weight=1]; manifest:company_id:w -> company:in18:n [color="#ff7fc2", fontcolor="#ff7fc2", tooltip="FK_manifest_company", weight=3]; manifest:entity_id:e -> entity:in7:n [color="#8f95ff", fontcolor="#8f95ff", tooltip="FK_manifest_entity", constraint=false, weight=1]; manifestarticle:manifest_id:sw -> manifest:in4:n [color="#58d18a", fontcolor="#58d18a", tooltip="FK_manifestarticle_manifest", weight=3]; warehouse:company_id:e -> company:in19:n [color="#ff8f66", fontcolor="#ff8f66", tooltip="FK_warehouse_company", weight=3]; ledger:manifestarticle_id:w -> manifestarticle:in0:n [color="#4fc4e8", fontcolor="#4fc4e8", tooltip="FK_ledger_manifestarticle", constraint=false, weight=1]; ledger:warehouse_id:sw -> warehouse:in0:n [color="#a98cff", fontcolor="#a98cff", tooltip="FK_ledger_warehouse", weight=3]; numbers:company_id:se -> company:in8:n [color="#ff6f6f", fontcolor="#ff6f6f", tooltip="FK_numbers_company", weight=3]; companyuser:google_auth_id:w -> google_auth:in0:n [color="#4ecb8f", fontcolor="#4ecb8f", tooltip="FK_companyuser_google_auth", constraint=false, weight=1]; companyuser:company_id:e -> company:in10:n [color="#5aa7e6", fontcolor="#5aa7e6", tooltip="FK_companyuser_company", weight=3]; modelconversation:companyuser_id:w -> companyuser:in1:n [color="#ff7aa8", fontcolor="#ff7aa8", tooltip="FK_modelconversation_companyuser", weight=3]; modelvfs:company_id:sw -> company:in3:n [color="#e0b25a", fontcolor="#e0b25a", tooltip="FK_modelvfs_company", weight=3]; modelmessage:conversation_id:se -> modelconversation:in0:n [color="#56c8c8", fontcolor="#56c8c8", tooltip="FK_modelmessage_conversation", weight=3]; companysetting:company_id:se -> company:in9:n [color="#ff5f9e", fontcolor="#ff5f9e", tooltip="FK_companysetting_company", weight=3]; posterminal:company_id:e -> company:in4:n [color="#ffb25a", fontcolor="#ffb25a", tooltip="FK_posterminal_company", weight=3]; posterminal:root_category_id:w -> category:in0:n [color="#56d68a", fontcolor="#56d68a", tooltip="FK_posterminal_root_category", constraint=false, weight=1]; posterminalcategory:posterminal_id:se -> posterminal:in0:n [color="#66b3ff", fontcolor="#66b3ff", tooltip="FK_posterminalcategory_posterminal", weight=3]; posterminalcategory:category_id:w -> category:in2:n [color="#c79bff", fontcolor="#c79bff", tooltip="FK_posterminalcategory_category", constraint=false, weight=1]; printer:company_id:w -> company:in2:n [color="#ff6b6b", fontcolor="#ff6b6b", tooltip="FK_printer_company", weight=3]; labeltemplate:company_id:e -> company:in1:n [color="#6bdf9a", fontcolor="#6bdf9a", tooltip="FK_labeltemplate_company", weight=3]; manifestattachment:manifest_id:ne -> manifest:in5:n [color="#5aa7ff", fontcolor="#5aa7ff", tooltip="FK_manifestattachment_manifest", weight=3]; manifestattachment:file_id:w -> file:in0:n [color="#f5c15c", fontcolor="#f5c15c", tooltip="FK_manifestattachment_file", constraint=false, weight=1]; propertyname:company_id:e -> company:in16:n [color="#c79bff", fontcolor="#c79bff", tooltip="FK_propertyname_company", weight=3]; articleproperty:article_id:w -> article:in0:n [color="#ff9f5a", fontcolor="#ff9f5a", tooltip="FK_articleproperty_article", weight=3]; articleproperty:property_id:e -> propertyname:in1:n [color="#5cd6d6", fontcolor="#5cd6d6", tooltip="FK_articleproperty_property", constraint=false, weight=1]; attributename:company_id:e -> company:in17:n [color="#ff7fc2", fontcolor="#ff7fc2", tooltip="FK_attributename_company", weight=3]; attributevalue:attribute_id:se -> attributename:in2:n [color="#8f95ff", fontcolor="#8f95ff", tooltip="FK_attributevalue_attribute", weight=3]; articleattributevalue:article_id:e -> article:in1:n [color="#58d18a", fontcolor="#58d18a", tooltip="FK_articleattributevalue_article", weight=3]; articleattributevalue:attributevalue_id:e -> attributevalue:in1:n [color="#ff8f66", fontcolor="#ff8f66", tooltip="FK_articleattributevalue_attributevalue", constraint=false, weight=1]; categoryproperty:category_id:w -> category:in3:n [color="#4fc4e8", fontcolor="#4fc4e8", tooltip="FK_categoryproperty_category", weight=3]; categoryproperty:property_id:e -> propertyname:in0:n [color="#a98cff", fontcolor="#a98cff", tooltip="FK_categoryproperty_property", constraint=false, weight=1]; categoryattributevalue:category_id:w -> category:in4:n [color="#ff6f6f", fontcolor="#ff6f6f", tooltip="FK_categoryattributevalue_category", weight=3]; categoryattributevalue:attributevalue_id:e -> attributevalue:in0:n [color="#4ecb8f", fontcolor="#4ecb8f", tooltip="FK_categoryattributevalue_attributevalue", constraint=false, weight=1]; account:company_id:w -> company:in20:n [color="#5aa7e6", fontcolor="#5aa7e6", tooltip="FK_account_company", weight=3]; payment:account_id:w -> account:in0:n [color="#ff7aa8", fontcolor="#ff7aa8", tooltip="FK_payment_account", constraint=false, weight=1]; payment:manifest_id:e -> manifest:in7:n [color="#e0b25a", fontcolor="#e0b25a", tooltip="FK_payment_manifest", weight=3]; carrier:company_id:w -> company:in0:n [color="#56c8c8", fontcolor="#56c8c8", tooltip="FK_carrier_company", weight=3]; shipping:manifest_id:sw -> manifest:in6:n [color="#ff5f9e", fontcolor="#ff5f9e", tooltip="FK_shipping_manifest", weight=3]; shipping:carrier_id:e -> carrier:in0:n [color="#ffb25a", fontcolor="#ffb25a", tooltip="FK_shipping_carrier", constraint=false, weight=1]; package:shipping_id:e -> shipping:in0:n [color="#56d68a", fontcolor="#56d68a", tooltip="FK_package_shipping", constraint=false, weight=1]; package:entityaddress_id:e -> entityaddress:in0:n [color="#66b3ff", fontcolor="#66b3ff", tooltip="FK_package_entityaddress", weight=3]; ordersummary:company_id:se -> company:in13:n [color="#c79bff", fontcolor="#c79bff", tooltip="FK_ordersummary_company", weight=3]; ordersummary:manifest_id:w -> manifest:in1:n [color="#ff6b6b", fontcolor="#ff6b6b", tooltip="FK_ordersummary_manifest", constraint=false, weight=1]; ordersummary:entity_id:e -> entity:in4:n [color="#6bdf9a", fontcolor="#6bdf9a", tooltip="FK_ordersummary_entity", constraint=false, weight=1]; quotesummary:company_id:se -> company:in14:n [color="#5aa7ff", fontcolor="#5aa7ff", tooltip="FK_quotesummary_company", weight=3]; quotesummary:manifest_id:w -> manifest:in2:n [color="#f5c15c", fontcolor="#f5c15c", tooltip="FK_quotesummary_manifest", constraint=false, weight=1]; quotesummary:entity_id:e -> entity:in5:n [color="#c79bff", fontcolor="#c79bff", tooltip="FK_quotesummary_entity", constraint=false, weight=1]; shipmentsummary:company_id:se -> company:in15:n [color="#ff9f5a", fontcolor="#ff9f5a", tooltip="FK_shipmentsummary_company", weight=3]; shipmentsummary:manifest_id:w -> manifest:in3:n [color="#5cd6d6", fontcolor="#5cd6d6", tooltip="FK_shipmentsummary_manifest", constraint=false, weight=1]; shipmentsummary:entity_id:e -> entity:in6:n [color="#ff7fc2", fontcolor="#ff7fc2", tooltip="FK_shipmentsummary_entity", constraint=false, weight=1]; deliverysummary:company_id:se -> company:in12:n [color="#8f95ff", fontcolor="#8f95ff", tooltip="FK_deliverysummary_company", weight=3]; deliverysummary:manifest_id:w -> manifest:in0:n [color="#58d18a", fontcolor="#58d18a", tooltip="FK_deliverysummary_manifest", constraint=false, weight=1]; deliverysummary:supplier_id:se -> entity:in3:n [color="#ff8f66", fontcolor="#ff8f66", tooltip="FK_deliverysummary_supplier", constraint=false, weight=1]; articlewarehousesummary:article_id:sw -> article:in2:n [color="#4fc4e8", fontcolor="#4fc4e8", tooltip="FK_articlewarehousesummary_article", weight=3]; articlewarehousesummary:warehouse_id:se -> warehouse:in1:n [color="#a98cff", fontcolor="#a98cff", tooltip="FK_articlewarehousesummary_warehouse", constraint=false, weight=1]; mcp_auth_code:google_auth_id:se -> google_auth:in1:n [color="#ff6f6f", fontcolor="#ff6f6f", tooltip="FK_mcp_auth_code_google_auth", weight=3]; mcp_token:google_auth_id:w -> google_auth:in2:n [color="#4ecb8f", fontcolor="#4ecb8f", tooltip="FK_mcp_token_google_auth", weight=3]; subagentschedule:company_id:sw -> company:in5:n [color="#5aa7e6", fontcolor="#5aa7e6", tooltip="FK_subagentschedule_company", weight=3]; }