This commit is contained in:
seb
2026-09-29 16:16:05 +02:00
parent 26d2f83d64
commit ae5d5cc6f8
40 changed files with 2139 additions and 0 deletions

View File

@@ -621,6 +621,65 @@ BEGIN
END;
`;
export const INIT_PROPERTYNAME = `
CREATE TABLE IF NOT EXISTS propertyname (
id INTEGER PRIMARY KEY,
company_id INTEGER NOT NULL,
name TEXT NOT NULL,
sort INTEGER NOT NULL DEFAULT 0,
FOREIGN KEY (company_id) REFERENCES company(id) ON DELETE CASCADE,
UNIQUE (company_id, name)
);
`;
export const INIT_ARTICLEPROPERTY = `
CREATE TABLE IF NOT EXISTS articleproperty (
id INTEGER PRIMARY KEY,
article_id INTEGER NOT NULL,
property_id INTEGER NOT NULL,
value TEXT NOT NULL,
sort INTEGER NOT NULL DEFAULT 0,
FOREIGN KEY (article_id) REFERENCES article(id) ON DELETE CASCADE,
FOREIGN KEY (property_id) REFERENCES propertyname(id) ON DELETE CASCADE,
UNIQUE (article_id, property_id)
);
`;
export const INIT_ATTRIBUTENAME = `
CREATE TABLE IF NOT EXISTS attributename (
id INTEGER PRIMARY KEY,
company_id INTEGER NOT NULL,
name TEXT NOT NULL,
sort INTEGER NOT NULL DEFAULT 0,
exclusive INTEGER NOT NULL DEFAULT 0,
FOREIGN KEY (company_id) REFERENCES company(id) ON DELETE CASCADE,
UNIQUE (company_id, name)
);
`;
export const INIT_ATTRIBUTEVALUE = `
CREATE TABLE IF NOT EXISTS attributevalue (
id INTEGER PRIMARY KEY,
attribute_id INTEGER NOT NULL,
value TEXT NOT NULL,
sort INTEGER NOT NULL DEFAULT 0,
FOREIGN KEY (attribute_id) REFERENCES attributename(id) ON DELETE CASCADE,
UNIQUE (attribute_id, value)
);
`;
export const INIT_ARTICLEATTRIBUTEVALUE = `
CREATE TABLE IF NOT EXISTS articleattributevalue (
id INTEGER PRIMARY KEY,
article_id INTEGER NOT NULL,
attributevalue_id INTEGER NOT NULL,
sort INTEGER NOT NULL DEFAULT 0,
FOREIGN KEY (article_id) REFERENCES article(id) ON DELETE CASCADE,
FOREIGN KEY (attributevalue_id) REFERENCES attributevalue(id) ON DELETE CASCADE,
UNIQUE (article_id, attributevalue_id)
);
`;
/** DDL scripts in dependency order for SQLite schema initialization. */
export const SCHEMA_SCRIPTS = [
INIT_META,
@@ -652,6 +711,11 @@ export const SCHEMA_SCRIPTS = [
INIT_ARTICLENAME,
INIT_PRICE,
INIT_ARTICLE_SUPPLIER,
INIT_PROPERTYNAME,
INIT_ARTICLEPROPERTY,
INIT_ATTRIBUTENAME,
INIT_ATTRIBUTEVALUE,
INIT_ARTICLEATTRIBUTEVALUE,
INIT_MANIFEST,
INIT_MANIFESTARTICLE,
INIT_WAREHOUSE,