You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
QwikClock/database.sql

95 lines
3.0 KiB
SQL

-- MySQL Script generated by MySQL Workbench
-- Mon 20 Nov 2017 08:04:01 PM MST
-- 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,
`code` VARCHAR(45) NULL,
`expires` DATETIME NULL,
`uid` INT NOT NULL DEFAULT -1,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;