|
|
|
-- MySQL Script generated by MySQL Workbench
|
|
|
|
-- Wed 30 May 2018 07:09:00 PM 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 qwikclock
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
DROP SCHEMA IF EXISTS `qwikclock` ;
|
|
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
-- Schema qwikclock
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
CREATE SCHEMA IF NOT EXISTS `qwikclock` DEFAULT CHARACTER SET utf8 ;
|
|
|
|
USE `qwikclock` ;
|
|
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
-- Table `qwikclock`.`shifts`
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
DROP TABLE IF EXISTS `qwikclock`.`shifts` ;
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `qwikclock`.`shifts` (
|
|
|
|
`shiftid` INT NOT NULL AUTO_INCREMENT,
|
|
|
|
`shiftname` VARCHAR(255) NOT NULL,
|
|
|
|
`start` TIME NOT NULL,
|
|
|
|
`end` TIME NOT NULL,
|
|
|
|
`days` VARCHAR(14) NOT NULL DEFAULT 'MoTuWeThFr',
|
|
|
|
PRIMARY KEY (`shiftid`),
|
|
|
|
UNIQUE INDEX `shiftid_UNIQUE` (`shiftid` ASC))
|
|
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
-- Table `qwikclock`.`punches`
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
DROP TABLE IF EXISTS `qwikclock`.`punches` ;
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `qwikclock`.`punches` (
|
|
|
|
`punchid` INT NOT NULL AUTO_INCREMENT,
|
|
|
|
`uid` INT NOT NULL,
|
|
|
|
`in` DATETIME NOT NULL,
|
|
|
|
`out` DATETIME NULL,
|
|
|
|
`notes` TEXT(1000) NULL,
|
|
|
|
`shiftid` INT NULL,
|
|
|
|
PRIMARY KEY (`punchid`),
|
|
|
|
UNIQUE INDEX `punchid_UNIQUE` (`punchid` ASC),
|
|
|
|
INDEX `fk_punches_shifts1_idx` (`shiftid` ASC),
|
|
|
|
CONSTRAINT `fk_punches_shifts1`
|
|
|
|
FOREIGN KEY (`shiftid`)
|
|
|
|
REFERENCES `qwikclock`.`shifts` (`shiftid`)
|
|
|
|
ON DELETE NO ACTION
|
|
|
|
ON UPDATE NO ACTION)
|
|
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
-- Table `qwikclock`.`assigned_shifts`
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
DROP TABLE IF EXISTS `qwikclock`.`assigned_shifts` ;
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `qwikclock`.`assigned_shifts` (
|
|
|
|
`uid` INT NOT NULL,
|
|
|
|
`shiftid` INT NOT NULL,
|
|
|
|
PRIMARY KEY (`uid`, `shiftid`),
|
|
|
|
INDEX `fk_assigned_shifts_shifts_idx` (`shiftid` ASC),
|
|
|
|
CONSTRAINT `fk_assigned_shifts_shifts`
|
|
|
|
FOREIGN KEY (`shiftid`)
|
|
|
|
REFERENCES `qwikclock`.`shifts` (`shiftid`)
|
|
|
|
ON DELETE NO ACTION
|
|
|
|
ON UPDATE NO ACTION)
|
|
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
-- Table `qwikclock`.`report_access_codes`
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
DROP TABLE IF EXISTS `qwikclock`.`report_access_codes` ;
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `qwikclock`.`report_access_codes` (
|
|
|
|
`id` INT NOT NULL AUTO_INCREMENT,
|
|
|
|
`code` VARCHAR(45) NULL,
|
|
|
|
`expires` DATETIME NULL,
|
|
|
|
`uid` INT NOT NULL DEFAULT -1,
|
|
|
|
PRIMARY KEY (`id`))
|
|
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
-- Table `qwikclock`.`jobs`
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
DROP TABLE IF EXISTS `qwikclock`.`jobs` ;
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `qwikclock`.`jobs` (
|
|
|
|
`jobid` INT NOT NULL AUTO_INCREMENT,
|
|
|
|
`jobname` VARCHAR(200) NOT NULL,
|
|
|
|
`jobcode` VARCHAR(200) NULL,
|
|
|
|
`color` VARCHAR(45) NULL,
|
|
|
|
`deleted` TINYINT(1) NOT NULL DEFAULT 0,
|
|
|
|
PRIMARY KEY (`jobid`),
|
|
|
|
UNIQUE INDEX `jobid_UNIQUE` (`jobid` ASC))
|
|
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
-- Table `qwikclock`.`job_groups`
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
DROP TABLE IF EXISTS `qwikclock`.`job_groups` ;
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `qwikclock`.`job_groups` (
|
|
|
|
`id` INT NOT NULL AUTO_INCREMENT,
|
|
|
|
`groupid` INT NOT NULL,
|
|
|
|
`jobid` INT NOT NULL,
|
|
|
|
PRIMARY KEY (`id`, `groupid`, `jobid`),
|
|
|
|
UNIQUE INDEX `id_UNIQUE` (`id` ASC),
|
|
|
|
INDEX `fk_job_groups_jobs1_idx` (`jobid` ASC),
|
|
|
|
CONSTRAINT `fk_job_groups_jobs1`
|
|
|
|
FOREIGN KEY (`jobid`)
|
|
|
|
REFERENCES `qwikclock`.`jobs` (`jobid`)
|
|
|
|
ON DELETE NO ACTION
|
|
|
|
ON UPDATE NO ACTION)
|
|
|
|
ENGINE = InnoDB;
|
|
|
|
|
|
|
|
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
-- Table `qwikclock`.`job_tracking`
|
|
|
|
-- -----------------------------------------------------
|
|
|
|
DROP TABLE IF EXISTS `qwikclock`.`job_tracking` ;
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `qwikclock`.`job_tracking` (
|
|
|
|
`id` INT NOT NULL AUTO_INCREMENT,
|
|
|
|
`uid` INT NOT NULL,
|
|
|
|
`jobid` INT NOT NULL,
|
|
|
|
`start` DATETIME NULL,
|
|
|
|
`end` DATETIME NULL,
|
|
|
|
PRIMARY KEY (`id`, `uid`, `jobid`),
|
|
|
|
INDEX `fk_job_tracking_jobs1_idx` (`jobid` ASC),
|
|
|
|
UNIQUE INDEX `id_UNIQUE` (`id` ASC),
|
|
|
|
CONSTRAINT `fk_job_tracking_jobs1`
|
|
|
|
FOREIGN KEY (`jobid`)
|
|
|
|
REFERENCES `qwikclock`.`jobs` (`jobid`)
|
|
|
|
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;
|