feat(schema): replace manifestarticle article_id FK with sku, rename articlesupplier sku/stock fields

This commit is contained in:
seb
2026-09-15 09:24:43 +02:00
parent e56f725bd9
commit 00bbd2e764
18 changed files with 1720 additions and 1877 deletions

View File

@@ -536,8 +536,8 @@ BEGIN
article_id INT NOT NULL,
entity_id INT NOT NULL,
price_id INT NULL,
supplierSKU NVARCHAR(100) NULL,
supplierStock FLOAT NULL,
sku NVARCHAR(100) NULL,
stock FLOAT NULL,
pu FLOAT NOT NULL CONSTRAINT DF_articlesupplier_pu DEFAULT 1,
CONSTRAINT FK_articlesupplier_article FOREIGN KEY (article_id) REFERENCES article(id) ON DELETE CASCADE,
CONSTRAINT FK_articlesupplier_entity FOREIGN KEY (entity_id) REFERENCES entity(id) ON DELETE CASCADE,
@@ -572,8 +572,7 @@ BEGIN
CREATE TABLE manifestarticle (
id INT IDENTITY(1,1) PRIMARY KEY,
manifest_id INT NOT NULL,
article_id INT NULL,
customsku NVARCHAR(100) NULL,
sku NVARCHAR(100) NULL,
customname NVARCHAR(255) NULL,
amount FLOAT NOT NULL,
net FLOAT NOT NULL,
@@ -581,44 +580,12 @@ BEGIN
rebate FLOAT NOT NULL CONSTRAINT DF_manifestarticle_rebate DEFAULT 0,
tax_id INT NOT NULL,
CONSTRAINT FK_manifestarticle_manifest FOREIGN KEY (manifest_id) REFERENCES manifest(id) ON DELETE CASCADE,
CONSTRAINT FK_manifestarticle_article FOREIGN KEY (article_id) REFERENCES article(id) ON DELETE SET NULL,
CONSTRAINT FK_manifestarticle_tax FOREIGN KEY (tax_id) REFERENCES tax(id) ON DELETE CASCADE,
CONSTRAINT CK_manifestarticle_article_or_custom CHECK (
(article_id IS NOT NULL AND customsku IS NULL AND customname IS NULL)
OR (article_id IS NULL)
)
CONSTRAINT FK_manifestarticle_tax FOREIGN KEY (tax_id) REFERENCES tax(id) ON DELETE CASCADE
);
END
IF NOT EXISTS (
SELECT 1 FROM sys.columns
WHERE object_id = OBJECT_ID(N'dbo.manifestarticle') AND name = N'customsku'
)
BEGIN
EXEC('ALTER TABLE dbo.manifestarticle ADD customsku NVARCHAR(100) NULL');
END
IF NOT EXISTS (
SELECT 1 FROM sys.columns
WHERE object_id = OBJECT_ID(N'dbo.manifestarticle') AND name = N'customname'
)
BEGIN
EXEC('ALTER TABLE dbo.manifestarticle ADD customname NVARCHAR(255) NULL');
END
IF NOT EXISTS (
SELECT 1 FROM sys.check_constraints
WHERE name = N'CK_manifestarticle_article_or_custom'
)
BEGIN
EXEC('ALTER TABLE dbo.manifestarticle ADD CONSTRAINT CK_manifestarticle_article_or_custom
CHECK (
(article_id IS NOT NULL AND customsku IS NULL AND customname IS NULL)
OR (article_id IS NULL)
)');
END
`;
export const INIT_LEDGER = `
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'ledger')
BEGIN