Skip to content

Latest commit

 

History

History
266 lines (233 loc) · 8.69 KB

File metadata and controls

266 lines (233 loc) · 8.69 KB

Create Tables

-- MySQL Script generated by MySQL Workbench
-- Tue Mar 16 22:10:13 2021
-- 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='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema psionic_storm
-- -----------------------------------------------------

-- -----------------------------------------------------
-- Schema psionic_storm
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `psionic_storm` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ;
USE `psionic_storm` ;

-- -----------------------------------------------------
-- Table `psionic_storm`.`book`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `psionic_storm`.`book` ;

CREATE TABLE IF NOT EXISTS `psionic_storm`.`book` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `title` VARCHAR(200) NOT NULL,
  `author` VARCHAR(200) NOT NULL,
  `description` VARCHAR(2000) NOT NULL,
  `created_at` DATETIME NOT NULL,
  `salon_id` INT NULL DEFAULT NULL,
  `space_id` INT NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_book_salon1_idx` (`salon_id` ASC) VISIBLE,
  INDEX `fk_book_space1_idx` (`space_id` ASC) VISIBLE)
ENGINE = InnoDB
AUTO_INCREMENT = 19
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;


-- -----------------------------------------------------
-- Table `psionic_storm`.`user`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `psionic_storm`.`user` ;

CREATE TABLE IF NOT EXISTS `psionic_storm`.`user` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `login_id` VARCHAR(45) NOT NULL,
  `nickname` VARCHAR(45) NOT NULL,
  `hashed_password` VARCHAR(200) NOT NULL,
  `salt` VARCHAR(200) NOT NULL,
  `created_at` DATETIME NOT NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB
AUTO_INCREMENT = 36
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;


-- -----------------------------------------------------
-- Table `psionic_storm`.`quote`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `psionic_storm`.`quote` ;

CREATE TABLE IF NOT EXISTS `psionic_storm`.`quote` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `content` VARCHAR(2000) NOT NULL,
  `page` INT NULL DEFAULT NULL,
  `created_at` DATETIME NOT NULL,
  `updated_at` DATETIME NOT NULL,
  `book_id` INT NOT NULL,
  `user_id` INT NOT NULL,
  PRIMARY KEY (`id`, `book_id`, `user_id`),
  INDEX `fk_quote_book1_idx` (`book_id` ASC) VISIBLE,
  INDEX `fk_quote_user1_idx` (`user_id` ASC) VISIBLE,
  CONSTRAINT `fk_quote_book1`
    FOREIGN KEY (`book_id`)
    REFERENCES `psionic_storm`.`book` (`id`)
    ON DELETE CASCADE
    ON UPDATE CASCADE,
  CONSTRAINT `fk_quote_user1`
    FOREIGN KEY (`user_id`)
    REFERENCES `psionic_storm`.`user` (`id`)
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB
AUTO_INCREMENT = 15
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;


-- -----------------------------------------------------
-- Table `psionic_storm`.`quote_comment`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `psionic_storm`.`quote_comment` ;

CREATE TABLE IF NOT EXISTS `psionic_storm`.`quote_comment` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `comment` VARCHAR(2000) NOT NULL,
  `created_at` DATETIME NOT NULL,
  `updated_at` DATETIME NOT NULL,
  `quote_id` INT NOT NULL,
  `quote_book_id` INT NOT NULL,
  `user_id` INT NOT NULL,
  PRIMARY KEY (`id`, `quote_id`, `quote_book_id`, `user_id`),
  INDEX `fk_quote_comment_quote1_idx` (`quote_id` ASC, `quote_book_id` ASC) VISIBLE,
  INDEX `fk_quote_comment_user1_idx` (`user_id` ASC) VISIBLE,
  CONSTRAINT `fk_quote_comment_quote1`
    FOREIGN KEY (`quote_id` , `quote_book_id`)
    REFERENCES `psionic_storm`.`quote` (`id` , `book_id`)
    ON DELETE CASCADE
    ON UPDATE CASCADE,
  CONSTRAINT `fk_quote_comment_user1`
    FOREIGN KEY (`user_id`)
    REFERENCES `psionic_storm`.`user` (`id`)
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB
AUTO_INCREMENT = 16
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;


-- -----------------------------------------------------
-- Table `psionic_storm`.`review`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `psionic_storm`.`review` ;

CREATE TABLE IF NOT EXISTS `psionic_storm`.`review` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `title` VARCHAR(200) NOT NULL,
  `content` TEXT NOT NULL,
  `created_at` DATETIME NOT NULL,
  `updated_at` DATETIME NOT NULL,
  `book_id` INT NOT NULL,
  `user_id` INT NOT NULL,
  PRIMARY KEY (`id`, `book_id`),
  INDEX `fk_review_book1_idx` (`book_id` ASC) VISIBLE,
  INDEX `fk_review_user1_idx` (`user_id` ASC) VISIBLE,
  CONSTRAINT `fk_review_book1`
    FOREIGN KEY (`book_id`)
    REFERENCES `psionic_storm`.`book` (`id`)
    ON DELETE CASCADE
    ON UPDATE CASCADE,
  CONSTRAINT `fk_review_user1`
    FOREIGN KEY (`user_id`)
    REFERENCES `psionic_storm`.`user` (`id`)
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB
AUTO_INCREMENT = 17
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;


-- -----------------------------------------------------
-- Table `psionic_storm`.`review_comment`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `psionic_storm`.`review_comment` ;

CREATE TABLE IF NOT EXISTS `psionic_storm`.`review_comment` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `comment` VARCHAR(2000) NOT NULL,
  `created_at` DATETIME NOT NULL,
  `updated_at` DATETIME NOT NULL,
  `review_id` INT NOT NULL,
  `review_book_id` INT NOT NULL,
  `user_id` INT NOT NULL,
  PRIMARY KEY (`id`, `review_id`, `review_book_id`),
  INDEX `fk_review_comment_review1_idx` (`review_id` ASC, `review_book_id` ASC) VISIBLE,
  INDEX `fk_review_comment_user1_idx` (`user_id` ASC) VISIBLE,
  CONSTRAINT `fk_review_comment_review1`
    FOREIGN KEY (`review_id` , `review_book_id`)
    REFERENCES `psionic_storm`.`review` (`id` , `book_id`)
    ON DELETE CASCADE
    ON UPDATE CASCADE,
  CONSTRAINT `fk_review_comment_user1`
    FOREIGN KEY (`user_id`)
    REFERENCES `psionic_storm`.`user` (`id`)
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB
AUTO_INCREMENT = 12
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;


-- -----------------------------------------------------
-- Table `psionic_storm`.`salon`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `psionic_storm`.`salon` ;

CREATE TABLE IF NOT EXISTS `psionic_storm`.`salon` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(45) NOT NULL,
  `creator_id` INT NOT NULL,
  `created_at` DATETIME NOT NULL,
  `updated_at` DATETIME NOT NULL,
  PRIMARY KEY (`id`))
ENGINE = InnoDB
AUTO_INCREMENT = 8
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;


-- -----------------------------------------------------
-- Table `psionic_storm`.`salon_has_user`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `psionic_storm`.`salon_has_user` ;

CREATE TABLE IF NOT EXISTS `psionic_storm`.`salon_has_user` (
  `salon_id` INT NOT NULL,
  `user_id` INT NOT NULL,
  `created_at` DATETIME NOT NULL,
  `updated_at` DATETIME NOT NULL,
  INDEX `fk_salon_has_user_user1_idx` (`user_id` ASC) VISIBLE,
  INDEX `fk_salon_has_user_salon1_idx` (`salon_id` ASC) VISIBLE,
  CONSTRAINT `fk_salon_has_user_salon1`
    FOREIGN KEY (`salon_id`)
    REFERENCES `psionic_storm`.`salon` (`id`),
  CONSTRAINT `fk_salon_has_user_user1`
    FOREIGN KEY (`user_id`)
    REFERENCES `psionic_storm`.`user` (`id`)
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;


-- -----------------------------------------------------
-- Table `psionic_storm`.`space`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `psionic_storm`.`space` ;

CREATE TABLE IF NOT EXISTS `psionic_storm`.`space` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(100) NOT NULL,
  `created_at` DATETIME NOT NULL,
  `updated_at` DATETIME NOT NULL,
  `user_id` INT NOT NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_space_user_idx` (`user_id` ASC) VISIBLE,
  CONSTRAINT `fk_space_user`
    FOREIGN KEY (`user_id`)
    REFERENCES `psionic_storm`.`user` (`id`)
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB
AUTO_INCREMENT = 4
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;