diff --git a/sql/inv.sql b/sql/inv.sql index 2f02d72..9287936 100644 --- a/sql/inv.sql +++ b/sql/inv.sql @@ -1,22 +1,22 @@ CREATE TABLE `item` ( - `id` INT(11) NOT NULL AUTO_INCREMENT, + `sku` VARCHAR(60) NOT NULL, `name` LONGTEXT DEFAULT NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`sku`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- Reselling item price, not including production item price, service item price, and subscription item price CREATE TABLE `item_price` ( `id` INT(11) NOT NULL AUTO_INCREMENT, - `item` INT(11) NOT NULL, + `sku` VARCHAR(60) NOT NULL, `type` VARCHAR(4) NOT NULL, -- buy, sell `currency` VARCHAR(3) NOT NULL, `value` INT(11) NOT NULL, `periods` DATETIME NOT NULL, PRIMARY KEY (`id`), - KEY `item` (`item`), - CONSTRAINT `item_price_fk_item` - FOREIGN KEY (`item`) - REFERENCES `item`(`id`) + KEY `sku` (`sku`), + CONSTRAINT `item_price_fk_sku` + FOREIGN KEY (`sku`) + REFERENCES `item`(`sku`) ON UPDATE CASCADE ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; @@ -24,15 +24,15 @@ CREATE TABLE `item_price` ( -- Not including assets inventory, get from buying/production, and shipping/expedition CREATE TABLE `inventory` ( `id` INT(11) NOT NULL AUTO_INCREMENT, - `item` INT(11) NOT NULL, - `flow` VARCHAR(20) NOT NULL, -- in, out, buy, sell, buy return, sell return + `sku` VARCHAR(60) NOT NULL, + `flow` VARCHAR(20) NOT NULL, -- in, out, buy, sell, buy return, sell return, use, produce `when` DATETIME NOT NULL, `qty` INT(11) NOT NULL, `note` LONGTEXT DEFAULT NULL, PRIMARY KEY (`id`), - KEY `item` (`item`), - CONSTRAINT `inventory_fk_item` - FOREIGN KEY (`item`) - REFERENCES `item`(`id`) + KEY `sku` (`sku`), + CONSTRAINT `inventory_fk_sku` + FOREIGN KEY (`sku`) + REFERENCES `item`(`sku`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- get from: buying/production