diff --git a/database.sql b/database.sql new file mode 100644 index 0000000..709c4d7 --- /dev/null +++ b/database.sql @@ -0,0 +1,107 @@ +-- MySQL Script generated by MySQL Workbench +-- Tue 17 Oct 2017 03:17:47 AM MDT +-- Model: New Model Version: 1.0 +-- MySQL Workbench Forward Engineering + +SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; +SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES'; + +-- ----------------------------------------------------- +-- Schema inventory +-- ----------------------------------------------------- + +-- ----------------------------------------------------- +-- Schema inventory +-- ----------------------------------------------------- +CREATE SCHEMA IF NOT EXISTS `inventory` DEFAULT CHARACTER SET utf8 ; +USE `inventory` ; + +-- ----------------------------------------------------- +-- Table `inventory`.`categories` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `inventory`.`categories` ( + `catid` INT NOT NULL AUTO_INCREMENT, + `catname` VARCHAR(45) NOT NULL, + PRIMARY KEY (`catid`), + UNIQUE INDEX `catid_UNIQUE` (`catid` ASC)) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `inventory`.`locations` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `inventory`.`locations` ( + `locid` INT NOT NULL AUTO_INCREMENT, + `locname` VARCHAR(100) NOT NULL, + `loccode` VARCHAR(45) NOT NULL, + `locinfo` VARCHAR(500) NULL, + PRIMARY KEY (`locid`), + UNIQUE INDEX `locid_UNIQUE` (`locid` ASC)) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `inventory`.`items` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `inventory`.`items` ( + `itemid` INT NOT NULL AUTO_INCREMENT, + `catid` INT NOT NULL, + `locid` INT NOT NULL, + `name` VARCHAR(100) NOT NULL, + `code1` VARCHAR(50) NOT NULL, + `code2` VARCHAR(50) NOT NULL, + `text1` TEXT(500) NOT NULL, + `text2` TEXT(500) NOT NULL, + `text3` TEXT(500) NOT NULL, + `qty` INT NOT NULL DEFAULT 1, + `want` INT NOT NULL DEFAULT 0, + `userid` INT NULL, + PRIMARY KEY (`itemid`, `catid`, `locid`), + INDEX `fk_items_categories_idx` (`catid` ASC), + INDEX `fk_items_locations1_idx` (`locid` ASC), + UNIQUE INDEX `itemid_UNIQUE` (`itemid` ASC), + CONSTRAINT `fk_items_categories` + FOREIGN KEY (`catid`) + REFERENCES `inventory`.`categories` (`catid`) + ON DELETE NO ACTION + ON UPDATE NO ACTION, + CONSTRAINT `fk_items_locations1` + FOREIGN KEY (`locid`) + REFERENCES `inventory`.`locations` (`locid`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `inventory`.`labels` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `inventory`.`labels` ( + `rowid` INT NOT NULL AUTO_INCREMENT, + `name` VARCHAR(50) NOT NULL, + `value` VARCHAR(100) NOT NULL, + PRIMARY KEY (`rowid`)) +ENGINE = InnoDB; + + +-- ----------------------------------------------------- +-- Table `inventory`.`permissions` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `inventory`.`permissions` ( + `userid` INT NOT NULL, + `itemid` INT NOT NULL, + `canedit` TINYINT(1) NOT NULL DEFAULT 0, + PRIMARY KEY (`userid`, `itemid`), + INDEX `fk_permissions_items1_idx` (`itemid` ASC), + CONSTRAINT `fk_permissions_items1` + FOREIGN KEY (`itemid`) + REFERENCES `inventory`.`items` (`itemid`) + ON DELETE NO ACTION + ON UPDATE NO ACTION) +ENGINE = InnoDB; + + +SET SQL_MODE=@OLD_SQL_MODE; +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; +SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;