👨🏻‍💻 최신순을 위로 올려주세요!

ver_211128

update 테이블의 IP를 INT⇒VARCHAR(45)로 변경

Untitled

boocam_wiki_erd_211128.mwb

-- 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 boocam_wiki
-- -----------------------------------------------------

-- -----------------------------------------------------
-- Schema boocam_wiki
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `boocam_wiki` DEFAULT CHARACTER SET utf8 ;
USE `boocam_wiki` ;

-- -----------------------------------------------------
-- Table `boocam_wiki`.`user`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `boocam_wiki`.`user` (
  `user_id` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
  `login` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
  `avatar_url` VARCHAR(200) NOT NULL,
  `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `is_admin` TINYINT NOT NULL DEFAULT 0,
  PRIMARY KEY (`user_id`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `boocam_wiki`.`document`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `boocam_wiki`.`document` (
  `generation` INT NOT NULL,
  `boostcamp_id` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
  `name` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
  `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `content` MEDIUMTEXT CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci' NULL,
  `nickname` VARCHAR(45) NULL,
  `location` VARCHAR(45) NULL,
  `language` VARCHAR(45) NULL,
  `user_image` VARCHAR(400) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NULL,
  `mbti` VARCHAR(45) NULL,
  `field` VARCHAR(45) NULL,
  `link` VARCHAR(200) NULL,
  PRIMARY KEY (`generation`, `boostcamp_id`, `name`),
  FULLTEXT INDEX `content_fulltext` (`content`) WITH PARSER ngram,
  INDEX `idx_generation` (`generation` ASC),
  INDEX `idx_boostcamp_id` (`boostcamp_id` ASC),
  INDEX `idx_name` (`name` ASC))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4;

-- -----------------------------------------------------
-- Table `boocam_wiki`.`update`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `boocam_wiki`.`update` (
  `update_id` INT NOT NULL AUTO_INCREMENT,
  `generation` INT NOT NULL,
  `boostcamp_id` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
  `name` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
  `user_id` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
  `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `content` MEDIUMTEXT CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci' NULL,
  `nickname` VARCHAR(45) NULL,
  `language` VARCHAR(45) NULL,
  `location` VARCHAR(45) NULL,
  `field` VARCHAR(45) NULL,
  `mbti` VARCHAR(45) NULL,
  `link` VARCHAR(200) NULL,
  `user_image` VARCHAR(400) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NULL,
  `ip` VARCHAR(45) NULL,
  INDEX `fk_user_has_document_document1_idx` (`generation` ASC, `boostcamp_id` ASC, `name` ASC),
  INDEX `fk_user_has_document_user1_idx` (`user_id` ASC),
  PRIMARY KEY (`update_id`),
  CONSTRAINT `fk_user_has_document_user1`
    FOREIGN KEY (`user_id`)
    REFERENCES `boocam_wiki`.`user` (`user_id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_user_has_document_document1`
    FOREIGN KEY (`generation` , `boostcamp_id` , `name`)
    REFERENCES `boocam_wiki`.`document` (`generation` , `boostcamp_id` , `name`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4;

-- -----------------------------------------------------
-- Table `boocam_wiki`.`view`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `boocam_wiki`.`view` (
  `view_id` INT NOT NULL AUTO_INCREMENT,
  `generation` INT NOT NULL,
  `boostcamp_id` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
  `name` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
  `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `count` INT NOT NULL DEFAULT 0,
  PRIMARY KEY (`view_id`),
  INDEX `idx_generation_boostcamp_id_name` (`generation` ASC, `boostcamp_id` ASC, `name` ASC),
  CONSTRAINT `fk_generation_boostcamp_id_name`
    FOREIGN KEY (`generation` , `boostcamp_id` , `name`)
    REFERENCES `boocam_wiki`.`document` (`generation` , `boostcamp_id` , `name`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `boocam_wiki`.`classification`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `boocam_wiki`.`classification` (
  `classification_id` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
  PRIMARY KEY (`classification_id`))
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `boocam_wiki`.`classification_graph`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `boocam_wiki`.`classification_graph` (
  `parent_id` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
  `child_id` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
  PRIMARY KEY (`parent_id`, `child_id`),
  INDEX `idx_child_classification_id` (`child_id` ASC),
  INDEX `idx_parent_classification_id` (`parent_id` ASC),
  CONSTRAINT `fk_parent_classification_id`
    FOREIGN KEY (`parent_id`)
    REFERENCES `boocam_wiki`.`classification` (`classification_id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_child_classification_id`
    FOREIGN KEY (`child_id`)
    REFERENCES `boocam_wiki`.`classification` (`classification_id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

-- -----------------------------------------------------
-- Table `boocam_wiki`.`document_classification`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `boocam_wiki`.`document_classification` (
  `classification_id` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
  `generation` INT NOT NULL,
  `boostcamp_id` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
  `name` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL,
  PRIMARY KEY (`classification_id`, `generation`, `boostcamp_id`, `name`),
  INDEX `idx_classfication_id` (`classification_id` ASC),
  INDEX `idx_generation_boostcamp_id_name` (`generation` ASC, `boostcamp_id` ASC, `name` ASC),
  CONSTRAINT `fk_classification`
    FOREIGN KEY (`classification_id`)
    REFERENCES `boocam_wiki`.`classification` (`classification_id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_generation_id_name`
    FOREIGN KEY (`generation` , `boostcamp_id` , `name`)
    REFERENCES `boocam_wiki`.`document` (`generation` , `boostcamp_id` , `name`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4;

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