u
This commit is contained in:
@@ -109,7 +109,7 @@ BEGIN
|
||||
taxrate INT NULL,
|
||||
reducedtaxrate INT NULL,
|
||||
taxfreerate INT NULL,
|
||||
poscustomergroup_id INT NULL,
|
||||
poscustomergroup_id INT NOT NULL,
|
||||
CONSTRAINT UQ_company_name UNIQUE (name),
|
||||
CONSTRAINT FK_company_root_category FOREIGN KEY (root_category_id) REFERENCES category(id) ON DELETE SET NULL,
|
||||
CONSTRAINT FK_company_default_language FOREIGN KEY (default_language_id) REFERENCES language(id) ON DELETE SET NULL,
|
||||
@@ -126,7 +126,9 @@ BEGIN
|
||||
CREATE TABLE customergroup (
|
||||
id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
name NVARCHAR(255) NOT NULL,
|
||||
company_id INT NOT NULL,
|
||||
-- Nullable only for company-create chicken-egg (POS group first, then company, then SET).
|
||||
-- Always set before commit; never left null for live rows.
|
||||
company_id INT NULL,
|
||||
CONSTRAINT FK_customergroup_company FOREIGN KEY (company_id) REFERENCES company(id) ON DELETE CASCADE
|
||||
);
|
||||
END
|
||||
@@ -270,6 +272,9 @@ BEGIN
|
||||
CONSTRAINT FK_articleean_article FOREIGN KEY (article_id) REFERENCES article(id) ON DELETE CASCADE,
|
||||
CONSTRAINT UQ_articleean_ean UNIQUE (ean)
|
||||
);
|
||||
-- Hot path: getBySku EANs by article (UQ is ean-leading only)
|
||||
CREATE INDEX IX_articleean_article_ean
|
||||
ON articleean (article_id, ean);
|
||||
END
|
||||
`;
|
||||
|
||||
@@ -351,6 +356,9 @@ BEGIN
|
||||
CONSTRAINT FK_categoryarticle_article FOREIGN KEY (article_id) REFERENCES article(id) ON DELETE CASCADE,
|
||||
CONSTRAINT UQ_categoryarticle_category_article UNIQUE (category_id, article_id)
|
||||
);
|
||||
-- Hot path: getBySku / resolve by article (UQ is category-leading)
|
||||
CREATE INDEX IX_categoryarticle_article_category
|
||||
ON categoryarticle (article_id, category_id);
|
||||
END
|
||||
`;
|
||||
|
||||
@@ -420,6 +428,10 @@ BEGIN
|
||||
CONSTRAINT FK_price_article FOREIGN KEY (article_id) REFERENCES article(id) ON DELETE CASCADE,
|
||||
CONSTRAINT FK_price_customergroup FOREIGN KEY (customergroup_id) REFERENCES customergroup(id) ON DELETE CASCADE
|
||||
);
|
||||
-- Hot path: getBySku prices by article (covers ORDER BY + SELECT cols)
|
||||
CREATE INDEX IX_price_article_cg_mult
|
||||
ON price (article_id, customergroup_id, minmultiplier)
|
||||
INCLUDE (net, tax_id);
|
||||
END
|
||||
`;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user