This commit is contained in:
2021-02-23 00:37:39 +00:00
parent 5172d0c70f
commit 5f3ed28677

View File

@@ -630,7 +630,6 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
await ExecQueryAsync("CREATE INDEX idx_aservicebank_objectid_objecttype ON aservicebank (objectid, objecttype );");
//CUSTOMER
await ExecQueryAsync("CREATE TABLE acustomer (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name TEXT NOT NULL UNIQUE, active BOOL NOT NULL, " +
"notes TEXT, wiki TEXT, customfields TEXT, tags VARCHAR(255) ARRAY, " +
@@ -704,9 +703,9 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
"entrydate TIMESTAMP NOT NULL, lastentrydate TIMESTAMP NULL, partid BIGINT NOT NULL REFERENCES apart, partwarehouseid BIGINT NOT NULL REFERENCES apartwarehouse, " +
"sourcetype INTEGER, sourceid BIGINT, " +
"quantity DECIMAL(19,4) NOT NULL, balance DECIMAL(19,4) NOT NULL, lastbalance DECIMAL(19,4) NULL, " +
"CONSTRAINT unq_partinventory UNIQUE (sourceid, sourcetype, entrydate, balance), " +
"CONSTRAINT unq_partinventory_previous_values UNIQUE (sourceid, sourcetype, lastentrydate, lastbalance), " +
"CONSTRAINT fk_partinventory_self FOREIGN KEY (sourceid, sourcetype, lastentrydate, lastbalance) REFERENCES apartinventory(sourceid, sourcetype, entrydate, balance), " +
"CONSTRAINT unq_partinventory UNIQUE (partid, partwarehouseid, entrydate, balance), " +
"CONSTRAINT unq_partinventory_previous_values UNIQUE (partid, partwarehouseid, lastentrydate, lastbalance), " +
"CONSTRAINT fk_partinventory_self FOREIGN KEY (partid, partwarehouseid, lastentrydate, lastbalance) REFERENCES apartinventory(partid, partwarehouseid, entrydate, balance), " +
"CONSTRAINT chk_partinventory_valid_balance CHECK(balance >= 0 AND (balance = COALESCE(lastbalance, 0) + quantity)), " +
"CONSTRAINT chk_partinventory_valid_dates_sequence CHECK(lastentrydate < entrydate), " +
"CONSTRAINT chk_partinventory_valid_previous_columns CHECK((lastentrydate IS NULL AND lastbalance IS NULL) OR (lastentrydate IS NOT NULL AND lastbalance IS NOT NULL)), " +