diff --git a/src/main/resources/db/changelog/changes/20250304_01_derek/01_supplierTable.sql b/src/main/resources/db/changelog/changes/20250304_01_derek/01_supplierTable.sql new file mode 100644 index 0000000..d2b360d --- /dev/null +++ b/src/main/resources/db/changelog/changes/20250304_01_derek/01_supplierTable.sql @@ -0,0 +1,20 @@ +-- liquibase formatted sql + +-- changeset derek:supplier +CREATE TABLE position ( + id INT NOT NULL AUTO_INCREMENT, + version INT NOT NULL DEFAULT '0', + created datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + createdBy VARCHAR(30) NULL, + modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + modifiedBy VARCHAR(30) NULL, + deleted TINYINT(1) NOT NULL DEFAULT '0', + `code` VARCHAR(50) NULL, + `name` VARCHAR(50) NOT NULL, + contactNo VARCHAR(50) NOT NULL, + contactName VARCHAR(50) NOT NULL, + contactEmail VARCHAR(50) NOT NULL, + address VARCHAR(50) NOT NULL, + district VARCHAR(50) NOT NULL, + CONSTRAINT pk_position PRIMARY KEY (id) +); diff --git a/src/main/resources/db/changelog/changes/20250304_01_derek/02_materialTable.sql b/src/main/resources/db/changelog/changes/20250304_01_derek/02_materialTable.sql new file mode 100644 index 0000000..76cd30c --- /dev/null +++ b/src/main/resources/db/changelog/changes/20250304_01_derek/02_materialTable.sql @@ -0,0 +1,80 @@ +-- liquibase formatted sql + +-- changeset derek:material and product +CREATE TABLE material ( + id INT NOT NULL AUTO_INCREMENT, + version INT NOT NULL DEFAULT '0', + created datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + createdBy VARCHAR(30) NULL, + modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + modifiedBy VARCHAR(30) NULL, + deleted TINYINT(1) NOT NULL DEFAULT '0', + `code` VARCHAR(50) NULL, + `name` VARCHAR(50) NOT NULL, + description VARCHAR(100) NOT NULL, + typeId INT(11) NOT NULL, + weightUnitId INT(11) NOT NULL, + uomId INT(11) NOT NULL, + shelfLife INT(11) NOT NULL, + remarks varchar(500) NULL, + countryOfOrigin varchar(50) NULL, + minHumid DECIMAL(16,2) NULL, + maxHumid DECIMAL(16,2) NULL, + minTemp DECIMAL(16,2) NULL, + maxTemp DECIMAL(16,2) NULL, + sampleRate DECIMAL(16,2) NULL, + passingRate DECIMAL(16,2) NULL, + netWeight DECIMAL(16,2) NULL, + isConsumables TINYINT(1) NOT NULL default 0, + CONSTRAINT pk_position PRIMARY KEY (id) +); + +CREATE TABLE product ( + id INT NOT NULL AUTO_INCREMENT, + version INT NOT NULL DEFAULT '0', + created datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + createdBy VARCHAR(30) NULL, + modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + modifiedBy VARCHAR(30) NULL, + deleted TINYINT(1) NOT NULL DEFAULT '0', + `code` VARCHAR(50) NOT NULL, + `name` VARCHAR(50) NOT NULL, + description VARCHAR(100) NOT NULL, + typeId INT(11) NULL, + weightUnitId INT(11) NOT NULL, + uomId INT(11) NOT NULL, + shelfLife INT(11) NOT NULL, + remarks varchar(500) NULL, + minHumid DECIMAL(16,2) NULL, + maxHumid DECIMAL(16,2) NULL, + minTemp DECIMAL(16,2) NULL, + maxTemp DECIMAL(16,2) NULL, + sampleRate DECIMAL(16,2) NULL, + passingRate DECIMAL(16,2) NULL, + netWeight DECIMAL(16,2) NULL, + CONSTRAINT pk_position PRIMARY KEY (id) +); +CREATE TABLE weightUnit ( + id INT NOT NULL AUTO_INCREMENT, + weightUnit VARCHAR(30) NOT NULL, + conversion DECIMAL(16,2) NOT NULL DEFAULT 1, + CONSTRAINT pk_weightUnit PRIMARY KEY (id) +); +CREATE TABLE uom ( + id INT NOT NULL AUTO_INCREMENT, + uom VARCHAR(30) NOT NULL, + CONSTRAINT pk_uom PRIMARY KEY (id) +); +CREATE TABLE type ( + id INT NOT NULL AUTO_INCREMENT, + name VARCHAR(30) NOT NULL, + CONSTRAINT pk_uom PRIMARY KEY (id) +); + +INSERT INTO weightUnit (weightUnit, conversion) VALUE ('kg', 10); +INSERT INTO uom (uom) VALUE ('份'); +INSERT INTO type (name) VALUE ('食物'); + +ALTER TABLE material ADD CONSTRAINT FK_MATERIAL_ON_WEIGHTUNITID FOREIGN KEY (weightUnitId) REFERENCES weightUnit (id); +ALTER TABLE material ADD CONSTRAINT FK_MATERIAL_ON_UOMID FOREIGN KEY (uomId) REFERENCES uom (id); +ALTER TABLE material ADD CONSTRAINT FK_MATERIAL_ON_TYPEID FOREIGN KEY (typeId) REFERENCES type (id);