u
This commit is contained in:
@@ -352,10 +352,11 @@ BEGIN
|
||||
ALTER TABLE article ADD fatherattributename_id INT NULL;
|
||||
ALTER TABLE article ADD CONSTRAINT FK_article_fatherattributename FOREIGN KEY (fatherattributename_id) REFERENCES attributename(id) ON DELETE NO ACTION;
|
||||
END
|
||||
END
|
||||
ELSE IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('article') AND name = 'track_stock')
|
||||
BEGIN
|
||||
ALTER TABLE article ADD track_stock BIT NOT NULL CONSTRAINT DF_article_track_stock DEFAULT 1;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('article') AND name = 'track_stock')
|
||||
BEGIN
|
||||
ALTER TABLE article ADD track_stock BIT NOT NULL CONSTRAINT DF_article_track_stock DEFAULT 1;
|
||||
END
|
||||
END
|
||||
`;
|
||||
|
||||
@@ -374,6 +375,27 @@ BEGIN
|
||||
END
|
||||
`;
|
||||
|
||||
export const INIT_ARTICLETOMBSTONE = `
|
||||
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'articletombstone')
|
||||
BEGIN
|
||||
CREATE TABLE articletombstone (
|
||||
id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
company_id INT NOT NULL,
|
||||
article_id INT NULL,
|
||||
sku NVARCHAR(100) NULL,
|
||||
name NVARCHAR(255) NULL,
|
||||
taxrate DECIMAL(18,4) NULL,
|
||||
net FLOAT NULL,
|
||||
deleted_at DATETIME2 NOT NULL CONSTRAINT DF_articletombstone_deleted_at DEFAULT SYSUTCDATETIME(),
|
||||
CONSTRAINT CK_articletombstone_article_or_sku CHECK (article_id IS NOT NULL OR sku IS NOT NULL),
|
||||
CONSTRAINT FK_articletombstone_company FOREIGN KEY (company_id) REFERENCES company(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE INDEX IX_articletombstone_company_deleted
|
||||
ON articletombstone (company_id, deleted_at);
|
||||
END
|
||||
`;
|
||||
|
||||
export const INIT_ARTICLEEAN = `
|
||||
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'articleean')
|
||||
BEGIN
|
||||
@@ -791,10 +813,18 @@ BEGIN
|
||||
pairingpin NVARCHAR(50) NOT NULL,
|
||||
paired_at DATETIME2 NULL,
|
||||
clientserial NVARCHAR(255) NULL,
|
||||
maxknowntombstoneid INT NULL,
|
||||
CONSTRAINT FK_posterminal_company FOREIGN KEY (company_id) REFERENCES company(id) ON DELETE CASCADE
|
||||
);
|
||||
CREATE UNIQUE INDEX UQ_posterminal_token ON posterminal(token) WHERE token IS NOT NULL;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('posterminal') AND name = 'maxknowntombstoneid')
|
||||
BEGIN
|
||||
ALTER TABLE posterminal ADD maxknowntombstoneid INT NULL;
|
||||
END
|
||||
END
|
||||
`;
|
||||
|
||||
export const INIT_POSTERMINALCATEGORY = `
|
||||
@@ -980,6 +1010,36 @@ BEGIN
|
||||
END
|
||||
`;
|
||||
|
||||
export const INIT_CATEGORYPROPERTY = `
|
||||
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'categoryproperty')
|
||||
BEGIN
|
||||
CREATE TABLE categoryproperty (
|
||||
id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
category_id INT NOT NULL,
|
||||
property_id INT NOT NULL,
|
||||
value NVARCHAR(MAX) NOT NULL,
|
||||
sort INT NOT NULL CONSTRAINT DF_categoryproperty_sort DEFAULT 0,
|
||||
CONSTRAINT FK_categoryproperty_category FOREIGN KEY (category_id) REFERENCES category(id) ON DELETE CASCADE,
|
||||
CONSTRAINT FK_categoryproperty_property FOREIGN KEY (property_id) REFERENCES propertyname(id) ON DELETE CASCADE
|
||||
);
|
||||
END
|
||||
`;
|
||||
|
||||
export const INIT_CATEGORYATTRIBUTEVALUE = `
|
||||
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'categoryattributevalue')
|
||||
BEGIN
|
||||
CREATE TABLE categoryattributevalue (
|
||||
id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
category_id INT NOT NULL,
|
||||
attributevalue_id INT NOT NULL,
|
||||
sort INT NOT NULL CONSTRAINT DF_categoryattributevalue_sort DEFAULT 0,
|
||||
CONSTRAINT FK_categoryattributevalue_category FOREIGN KEY (category_id) REFERENCES category(id) ON DELETE CASCADE,
|
||||
CONSTRAINT FK_categoryattributevalue_attributevalue FOREIGN KEY (attributevalue_id) REFERENCES attributevalue(id) ON DELETE CASCADE,
|
||||
CONSTRAINT UQ_categoryattributevalue_category_attributevalue UNIQUE (category_id, attributevalue_id)
|
||||
);
|
||||
END
|
||||
`;
|
||||
|
||||
/** DDL scripts in dependency order for schema init. */
|
||||
export const SCHEMA_SCRIPTS = [
|
||||
INIT_META,
|
||||
@@ -1017,6 +1077,8 @@ export const SCHEMA_SCRIPTS = [
|
||||
INIT_ARTICLE_SUPPLIER,
|
||||
INIT_ARTICLEPROPERTY,
|
||||
INIT_ARTICLEATTRIBUTEVALUE,
|
||||
INIT_CATEGORYPROPERTY,
|
||||
INIT_CATEGORYATTRIBUTEVALUE,
|
||||
INIT_MANIFEST,
|
||||
INIT_MANIFESTARTICLE,
|
||||
INIT_WAREHOUSE,
|
||||
@@ -1026,6 +1088,7 @@ export const SCHEMA_SCRIPTS = [
|
||||
INIT_PEEK_NEXT_NUMBER_WITH_PREFIX_AND_PADDING,
|
||||
INIT_COMPANYUSER,
|
||||
INIT_ARTICLEHISTORY,
|
||||
INIT_ARTICLETOMBSTONE,
|
||||
INIT_ENTITYHISTORY,
|
||||
INIT_SYNCPOS,
|
||||
INIT_COMPANYSETTING,
|
||||
|
||||
Reference in New Issue
Block a user