diff --git a/src/main/resources/db/changelog/changes/20250513_01_cyril/01_update_purchase_order_currency.sql b/src/main/resources/db/changelog/changes/20250513_01_cyril/01_update_purchase_order_currency.sql new file mode 100644 index 0000000..62d8ab1 --- /dev/null +++ b/src/main/resources/db/changelog/changes/20250513_01_cyril/01_update_purchase_order_currency.sql @@ -0,0 +1,21 @@ +--liquibase formatted sql + +--changeset cyril:update currency + +ALTER TABLE `currency` + CHANGE COLUMN `description` `description` VARCHAR (100) NOT NULL; + +ALTER TABLE `purchase_order` + ADD COLUMN `currencyId` INT NULL AFTER `supplierId`, + ADD CONSTRAINT `FK_PURCHASE_ORDER_ON_CURRENCYID` FOREIGN KEY (`currencyId`) REFERENCES `currency` (`id`); +; + +ALTER TABLE `purchase_order_line` +DROP +FOREIGN KEY `FK_PURCHASE_ORDER_LINE_ON_CURRENCYID`; + +ALTER TABLE `purchase_order_line` +DROP +COLUMN `currencyId`, +DROP INDEX `FK_PURCHASE_ORDER_LINE_ON_CURRENCYID`; +; \ No newline at end of file diff --git a/src/main/resources/db/changelog/changes/20250513_01_cyril/02_create_equipment.sql b/src/main/resources/db/changelog/changes/20250513_01_cyril/02_create_equipment.sql new file mode 100644 index 0000000..dc7de72 --- /dev/null +++ b/src/main/resources/db/changelog/changes/20250513_01_cyril/02_create_equipment.sql @@ -0,0 +1,34 @@ +--liquibase formatted sql + +--changeset cyril:create equipment table +CREATE TABLE `equipment_type` +( + `id` INT NOT NULL AUTO_INCREMENT, + `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + `createdBy` VARCHAR(30) NULL DEFAULT NULL, + `version` INT NOT NULL DEFAULT '0', + `modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + `modifiedBy` VARCHAR(30) NULL DEFAULT NULL, + `deleted` TINYINT(1) NOT NULL DEFAULT '0', + `code` VARCHAR(30) NOT NULL, + `name` VARCHAR(30) NOT NULL, + `description` VARCHAR(500) NOT NULL, + CONSTRAINT pk_equipment_type PRIMARY KEY (id) +); + +CREATE TABLE `equipment` +( + `id` INT NOT NULL AUTO_INCREMENT, + `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + `createdBy` VARCHAR(30) NULL DEFAULT NULL, + `version` INT NOT NULL DEFAULT '0', + `modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + `modifiedBy` VARCHAR(30) NULL DEFAULT NULL, + `deleted` TINYINT(1) NOT NULL DEFAULT '0', + `code` VARCHAR(30) NOT NULL, + `name` VARCHAR(30) NOT NULL, + `description` VARCHAR(500) NOT NULL, + `equipmentTypeId` INT NULL, + CONSTRAINT pk_equipment PRIMARY KEY (id), + CONSTRAINT `FK_EQUIPMENT_ON_EQUIPMENTTYPEID` FOREIGN KEY (`equipmentTypeId`) REFERENCES `equipment_type` (`id`) +); \ No newline at end of file diff --git a/src/main/resources/db/changelog/changes/20250513_01_cyril/03_create_process.sql b/src/main/resources/db/changelog/changes/20250513_01_cyril/03_create_process.sql new file mode 100644 index 0000000..9dadb71 --- /dev/null +++ b/src/main/resources/db/changelog/changes/20250513_01_cyril/03_create_process.sql @@ -0,0 +1,35 @@ +--liquibase formatted sql + +--changeset cyril:create process table + +CREATE TABLE `process` +( + `id` INT NOT NULL AUTO_INCREMENT, + `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + `createdBy` VARCHAR(30) NULL DEFAULT NULL, + `version` INT NOT NULL DEFAULT '0', + `modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + `modifiedBy` VARCHAR(30) NULL DEFAULT NULL, + `deleted` TINYINT(1) NOT NULL DEFAULT '0', + `code` VARCHAR(30) NOT NULL, + `name` VARCHAR(30) NOT NULL, + `description` VARCHAR(1000) NULL, + `remarks` VARCHAR(1000) NULL, + CONSTRAINT pk_process PRIMARY KEY (id) +); + +CREATE TABLE `process_equipment` +( + `id` INT NOT NULL AUTO_INCREMENT, + `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + `createdBy` VARCHAR(30) NULL DEFAULT NULL, + `version` INT NOT NULL DEFAULT '0', + `modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + `modifiedBy` VARCHAR(30) NULL DEFAULT NULL, + `deleted` TINYINT(1) NOT NULL DEFAULT '0', + `equipmentId` INT NOT NULL, + `processId` INT NULL, + CONSTRAINT pk_process_equipment PRIMARY KEY (id), + CONSTRAINT `FK_PROCESS_EQUIPMENT_ON_EQUIPMENTID` FOREIGN KEY (`equipmentId`) REFERENCES `equipment` (`id`), + CONSTRAINT `FK_PROCESS_EQUIPMENT_ON_PROCESSID` FOREIGN KEY (`processId`) REFERENCES `process` (`id`) +); \ No newline at end of file diff --git a/src/main/resources/db/changelog/changes/20250513_01_cyril/04_create_bom.sql b/src/main/resources/db/changelog/changes/20250513_01_cyril/04_create_bom.sql new file mode 100644 index 0000000..932049e --- /dev/null +++ b/src/main/resources/db/changelog/changes/20250513_01_cyril/04_create_bom.sql @@ -0,0 +1,78 @@ +--liquibase formatted sql + +--changeset cyril:create bom & process table +CREATE TABLE `bom` +( + `id` INT NOT NULL AUTO_INCREMENT, + `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + `createdBy` VARCHAR(30) NULL DEFAULT NULL, + `version` INT NOT NULL DEFAULT '0', + `modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + `modifiedBy` VARCHAR(30) NULL DEFAULT NULL, + `deleted` TINYINT(1) NOT NULL DEFAULT '0', + `code` VARCHAR(30) NOT NULL, + `name` VARCHAR(30) NOT NULL, + `description` VARCHAR(100) NOT NULL, + `outputQty` DECIMAL(14, 2) NULL, + `uomId` INT NULL, + `m18Id` INT NULL, + `m18LastModifyDate` DATETIME NULL, + CONSTRAINT pk_bom PRIMARY KEY (id) +); + +CREATE TABLE `bom_process` +( + `id` INT NOT NULL AUTO_INCREMENT, + `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + `createdBy` VARCHAR(30) NULL DEFAULT NULL, + `version` INT NOT NULL DEFAULT '0', + `modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + `modifiedBy` VARCHAR(30) NULL DEFAULT NULL, + `deleted` TINYINT(1) NOT NULL DEFAULT '0', + `processId` INT NOT NULL, + `uomId` INT NOT NULL, + `seqNo` INT NOT NULL, + `bomId` INT NOT NULL, + CONSTRAINT pk_bom_process PRIMARY KEY (id), + CONSTRAINT `FK_BOM_PROCESS_ON_PROCESSID` FOREIGN KEY (`processId`) REFERENCES `process` (`id`), + CONSTRAINT `FK_BOM_PROCESS_ON_UOMID` FOREIGN KEY (`uomId`) REFERENCES `uom_conversion` (`id`), + CONSTRAINT `FK_BOM_PROCESS_ON_BOMID` FOREIGN KEY (`bomId`) REFERENCES `bom` (`id`) +); + +CREATE TABLE `bom_material` +( + `id` INT NOT NULL AUTO_INCREMENT, + `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + `createdBy` VARCHAR(30) NULL DEFAULT NULL, + `version` INT NOT NULL DEFAULT '0', + `modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + `modifiedBy` VARCHAR(30) NULL DEFAULT NULL, + `deleted` TINYINT(1) NOT NULL DEFAULT '0', + `itemId` INT NOT NULL, + `isConsumable` TINYINT(1) NOT NULL DEFAULT '0', + `qty` DECIMAL(14, 2) NOT NULL, + `uomId` INT NOT NULL, + `bomId` INT NOT NULL, + `m18Id` INT NOT NULL, + `m18LastModifyDate` DATETIME NOT NULL, + CONSTRAINT pk_bom_material PRIMARY KEY (id), + CONSTRAINT `FK_BOM_MATERIAL_ON_ITEMID` FOREIGN KEY (`itemId`) REFERENCES `items` (`id`), + CONSTRAINT `FK_BOM_MATERIAL_ON_UOMID` FOREIGN KEY (`uomId`) REFERENCES `uom_conversion` (`id`), + CONSTRAINT `FK_BOM_MATERIAL_ON_BOMID` FOREIGN KEY (`bomId`) REFERENCES `bom` (`id`) +); + +CREATE TABLE `bom_process_material` +( + `id` INT NOT NULL AUTO_INCREMENT, + `created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + `createdBy` VARCHAR(30) NULL DEFAULT NULL, + `version` INT NOT NULL DEFAULT '0', + `modified` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + `modifiedBy` VARCHAR(30) NULL DEFAULT NULL, + `deleted` TINYINT(1) NOT NULL DEFAULT '0', + `bomProcessId` INT NOT NULL, + `bomMaterialId` INT NOT NULL, + CONSTRAINT pk_bom_process_material PRIMARY KEY (id), + CONSTRAINT `FK_BOM_PROCESS_MATERIAL_ON_BOMPROCESSID` FOREIGN KEY (`bomProcessId`) REFERENCES `bom_process` (`id`), + CONSTRAINT `FK_BOM_PROCESS_MATERIAL_ON_BOMMATERIALID` FOREIGN KEY (`bomMaterialId`) REFERENCES `bom_material` (`id`) +); \ No newline at end of file