diff --git a/docker-rh/DDL_RH.sql b/docker-rh/DDL_RH.sql deleted file mode 100644 index 2ad0549..0000000 --- a/docker-rh/DDL_RH.sql +++ /dev/null @@ -1,204 +0,0 @@ --- MySQL Script generated by MySQL Workbench --- Wed Jul 26 18:00:18 2023 --- 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 rh_schema --- ----------------------------------------------------- - --- ----------------------------------------------------- --- Schema rh_schema --- ----------------------------------------------------- -CREATE SCHEMA IF NOT EXISTS `rh_schema` DEFAULT CHARACTER SET utf8 ; -USE `rh_schema` ; - --- ----------------------------------------------------- --- Table `rh_schema`.`T_RH_ADDRESS` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `rh_schema`.`T_RH_ADDRESS` ( - `id_address` INT NOT NULL AUTO_INCREMENT, - `address` VARCHAR(45) NOT NULL, - `number` VARCHAR(45) NOT NULL, - `complement` VARCHAR(45) NULL, - `zip_code` CHAR(8) NULL, - `district` VARCHAR(45) NULL, - `city` VARCHAR(45) NOT NULL, - `state` VARCHAR(45) NOT NULL, - PRIMARY KEY (`id_address`), - UNIQUE INDEX `id_address_UNIQUE` (`id_address` ASC) VISIBLE) -ENGINE = InnoDB; - - --- ----------------------------------------------------- --- Table `rh_schema`.`T_RH_CLIENT` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `rh_schema`.`T_RH_CLIENT` ( - `cnpj` CHAR(14) NOT NULL, - `company_name` VARCHAR(50) NOT NULL, - `trading_name` VARCHAR(50) NULL, - `inscr_estadual` CHAR(9) NULL, - `phone` VARCHAR(14) NULL, - `email` VARCHAR(50) NOT NULL, - `password` VARCHAR(50) NOT NULL, - `logo` BLOB NULL, - `T_RH_ADDRESS_id_address` INT NOT NULL, - PRIMARY KEY (`cnpj`), - UNIQUE INDEX `cnpj_UNIQUE` (`cnpj` ASC) VISIBLE, - INDEX `fk_T_RH_CLIENT_T_RH_ADDRESS1_idx` (`T_RH_ADDRESS_id_address` ASC) VISIBLE, - CONSTRAINT `fk_T_RH_CLIENT_T_RH_ADDRESS1` - FOREIGN KEY (`T_RH_ADDRESS_id_address`) - REFERENCES `rh_schema`.`T_RH_ADDRESS` (`id_address`) - ON DELETE NO ACTION - ON UPDATE NO ACTION) -ENGINE = InnoDB; - - --- ----------------------------------------------------- --- Table `rh_schema`.`T_RH_WKIT` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `rh_schema`.`T_RH_WKIT` ( - `id_wkit` INT NOT NULL AUTO_INCREMENT, - `name` VARCHAR(45) NOT NULL, - `image` BLOB NOT NULL, - `T_RH_CLIENT_cnpj` CHAR(14) NOT NULL, - PRIMARY KEY (`id_wkit`), - UNIQUE INDEX `id_wkit_UNIQUE` (`id_wkit` ASC) VISIBLE, - INDEX `fk_T_RH_WKIT_T_RH_CLIENT1_idx` (`T_RH_CLIENT_cnpj` ASC) VISIBLE, - CONSTRAINT `fk_T_RH_WKIT_T_RH_CLIENT1` - FOREIGN KEY (`T_RH_CLIENT_cnpj`) - REFERENCES `rh_schema`.`T_RH_CLIENT` (`cnpj`) - ON DELETE NO ACTION - ON UPDATE NO ACTION) -ENGINE = InnoDB; - - --- ----------------------------------------------------- --- Table `rh_schema`.`T_RH_TRACKING` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `rh_schema`.`T_RH_TRACKING` ( - `id_tracking` INT NOT NULL AUTO_INCREMENT, - `tracking_n` VARCHAR(45) NULL, - `status` ENUM('A ENVIAR', 'ENVIADO', 'ENTREGUE') NOT NULL, - `T_RH_WKIT_id_wkit` INT NOT NULL, - PRIMARY KEY (`id_tracking`), - UNIQUE INDEX `id_tracking_UNIQUE` (`id_tracking` ASC) VISIBLE, - INDEX `fk_T_RH_TRACKING_T_RH_WKIT1_idx` (`T_RH_WKIT_id_wkit` ASC) VISIBLE, - CONSTRAINT `fk_T_RH_TRACKING_T_RH_WKIT1` - FOREIGN KEY (`T_RH_WKIT_id_wkit`) - REFERENCES `rh_schema`.`T_RH_WKIT` (`id_wkit`) - ON DELETE NO ACTION - ON UPDATE NO ACTION) -ENGINE = InnoDB; - - --- ----------------------------------------------------- --- Table `rh_schema`.`T_RH_EMPLOYEE` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `rh_schema`.`T_RH_EMPLOYEE` ( - `cpf` CHAR(11) NOT NULL, - `name` VARCHAR(30) NOT NULL, - `surname` VARCHAR(30) NOT NULL, - `email` VARCHAR(50) NOT NULL, - `phone` VARCHAR(14) NOT NULL, - `birth_date` DATE NOT NULL, - `company_position` VARCHAR(20) NOT NULL, - `access` ENUM('ADMIN', 'MANAGER', 'DEFAULT') NOT NULL, - `T_RH_CLIENT_cnpj` CHAR(14) NOT NULL, - `T_RH_ADDRESS_id_address` INT NOT NULL, - `T_RH_TRACKING_id_tracking` INT NOT NULL, - PRIMARY KEY (`cpf`), - INDEX `fk_T_RH_EMPLOYEE_T_RH_CLIENT_idx` (`T_RH_CLIENT_cnpj` ASC) VISIBLE, - UNIQUE INDEX `cpf_UNIQUE` (`cpf` ASC) VISIBLE, - INDEX `fk_T_RH_EMPLOYEE_T_RH_ADDRESS1_idx` (`T_RH_ADDRESS_id_address` ASC) VISIBLE, - INDEX `fk_T_RH_EMPLOYEE_T_RH_TRACKING1_idx` (`T_RH_TRACKING_id_tracking` ASC) VISIBLE, - CONSTRAINT `fk_T_RH_EMPLOYEE_T_RH_CLIENT` - FOREIGN KEY (`T_RH_CLIENT_cnpj`) - REFERENCES `rh_schema`.`T_RH_CLIENT` (`cnpj`) - ON DELETE NO ACTION - ON UPDATE NO ACTION, - CONSTRAINT `fk_T_RH_EMPLOYEE_T_RH_ADDRESS1` - FOREIGN KEY (`T_RH_ADDRESS_id_address`) - REFERENCES `rh_schema`.`T_RH_ADDRESS` (`id_address`) - ON DELETE NO ACTION - ON UPDATE NO ACTION, - CONSTRAINT `fk_T_RH_EMPLOYEE_T_RH_TRACKING1` - FOREIGN KEY (`T_RH_TRACKING_id_tracking`) - REFERENCES `rh_schema`.`T_RH_TRACKING` (`id_tracking`) - ON DELETE NO ACTION - ON UPDATE NO ACTION) -ENGINE = InnoDB; - - --- ----------------------------------------------------- --- Table `rh_schema`.`T_RH_WK_ITEM` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `rh_schema`.`T_RH_WK_ITEM` ( - `id_wk_item` INT NOT NULL AUTO_INCREMENT, - `name` VARCHAR(45) NOT NULL, - `image` BLOB NOT NULL, - `T_RH_WKIT_id_wkit` INT NOT NULL, - PRIMARY KEY (`id_wk_item`), - UNIQUE INDEX `id_wk_item_UNIQUE` (`id_wk_item` ASC) VISIBLE, - INDEX `fk_T_RH_WK_ITEM_T_RH_WKIT1_idx` (`T_RH_WKIT_id_wkit` ASC) VISIBLE, - CONSTRAINT `fk_T_RH_WK_ITEM_T_RH_WKIT1` - FOREIGN KEY (`T_RH_WKIT_id_wkit`) - REFERENCES `rh_schema`.`T_RH_WKIT` (`id_wkit`) - ON DELETE NO ACTION - ON UPDATE NO ACTION) -ENGINE = InnoDB; - - --- ----------------------------------------------------- --- Table `rh_schema`.`T_RH_CHAT` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `rh_schema`.`T_RH_CHAT` ( - `id_chat` INT NOT NULL AUTO_INCREMENT, - `T_RH_CLIENT_cnpj` CHAR(14) NOT NULL, - `T_RH_EMPLOYEE_cpf` CHAR(11) NOT NULL, - PRIMARY KEY (`id_chat`), - UNIQUE INDEX `id_chat_UNIQUE` (`id_chat` ASC) VISIBLE, - INDEX `fk_T_RH_CHAT_T_RH_CLIENT1_idx` (`T_RH_CLIENT_cnpj` ASC) VISIBLE, - INDEX `fk_T_RH_CHAT_T_RH_EMPLOYEE1_idx` (`T_RH_EMPLOYEE_cpf` ASC) VISIBLE, - CONSTRAINT `fk_T_RH_CHAT_T_RH_CLIENT1` - FOREIGN KEY (`T_RH_CLIENT_cnpj`) - REFERENCES `rh_schema`.`T_RH_CLIENT` (`cnpj`) - ON DELETE NO ACTION - ON UPDATE NO ACTION, - CONSTRAINT `fk_T_RH_CHAT_T_RH_EMPLOYEE1` - FOREIGN KEY (`T_RH_EMPLOYEE_cpf`) - REFERENCES `rh_schema`.`T_RH_EMPLOYEE` (`cpf`) - ON DELETE NO ACTION - ON UPDATE NO ACTION) -ENGINE = InnoDB; - - --- ----------------------------------------------------- --- Table `rh_schema`.`T_RH_MESSAGE` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `rh_schema`.`T_RH_MESSAGE` ( - `id_message` INT NOT NULL AUTO_INCREMENT, - `to` INT NOT NULL, - `from` INT NOT NULL, - `date` DATETIME NOT NULL, - `read_in` DATETIME NULL, - `content` VARCHAR(500) NOT NULL, - `T_RH_CHAT_id_chat` INT NOT NULL, - PRIMARY KEY (`id_message`), - UNIQUE INDEX `id_message_UNIQUE` (`id_message` ASC) VISIBLE, - INDEX `fk_T_RH_MESSAGE_T_RH_CHAT1_idx` (`T_RH_CHAT_id_chat` ASC) VISIBLE, - CONSTRAINT `fk_T_RH_MESSAGE_T_RH_CHAT1` - FOREIGN KEY (`T_RH_CHAT_id_chat`) - REFERENCES `rh_schema`.`T_RH_CHAT` (`id_chat`) - 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; diff --git a/docker-rh/DDL_onboarding.sql b/docker-rh/DDL_onboarding.sql new file mode 100644 index 0000000..15b4855 --- /dev/null +++ b/docker-rh/DDL_onboarding.sql @@ -0,0 +1,209 @@ +CREATE DATABASE IF NOT EXISTS onboarding_me DEFAULT CHARACTER SET utf8; +USE onboarding_me; + + +CREATE TABLE IF NOT EXISTS Company ( + id BIGINT AUTO_INCREMENT, + company_name VARCHAR(255) NOT NULL, + trading_name VARCHAR(255), + logo MEDIUMBLOB, + cnpj VARCHAR(14) NOT NULL UNIQUE, + email VARCHAR(255) NOT NULL UNIQUE, + company_password VARCHAR(255) NOT NULL, + state_register VARCHAR(14), + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS Address ( + id BIGINT AUTO_INCREMENT, + num VARCHAR(255) NOT NULL, + complement VARCHAR(255), + zipcode VARCHAR(8) NOT NULL, + street VARCHAR(255) NOT NULL, + district VARCHAR(255) NOT NULL, + city VARCHAR(255) NOT NULL, + state VARCHAR(255) NOT NULL, + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS Employee ( + id BIGINT AUTO_INCREMENT, + first_name VARCHAR(255) NOT NULL, + surname VARCHAR(255) NOT NULL, + birthdate DATE NOT NULL, + employee_role VARCHAR(255) NOT NULL, + email VARCHAR(255) NOT NULL UNIQUE, + employee_password VARCHAR(255) NOT NULL, + phone_number VARCHAR(14), + cpf VARCHAR(11) NOT NULL UNIQUE, + level_access ENUM('admin', 'manager', 'default') NOT NULL, + company_id BIGINT NOT NULL, + address_id BIGINT NOT NULL, + FOREIGN KEY (company_id) REFERENCES Company (id), + FOREIGN KEY (address_id) REFERENCES Address (id), + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS WelcomeKit ( + id BIGINT AUTO_INCREMENT, + name VARCHAR(255) NOT NULL, + image MEDIUMBLOB, + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS WelcomeKitItem ( + id BIGINT AUTO_INCREMENT, + name VARCHAR(255) NOT NULL, + image MEDIUMBLOB NOT NULL, + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS WelcomeKit_WelcomeKitItem ( + id BIGINT AUTO_INCREMENT, + welcome_kit_id BIGINT NOT NULL, + item_id BIGINT NOT NULL, + FOREIGN KEY (welcome_kit_id) REFERENCES WelcomeKit (id), + FOREIGN KEY (item_id) REFERENCES WelcomeKitItem (id), + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS Tracking ( + id BIGINT AUTO_INCREMENT, + tracking_code VARCHAR(255) NOT NULL UNIQUE, + status ENUM('to_be_send','sended','delivered') NOT NULL, + employee_id BIGINT NOT NULL, + welcome_kit_id BIGINT NOT NULL, + FOREIGN KEY (employee_id) REFERENCES Employee (id), + FOREIGN KEY (welcome_kit_id) REFERENCES WelcomeKit (id), + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS Chat ( + id BIGINT AUTO_INCREMENT, + company_id BIGINT, + first_employee_id BIGINT NOT NULL, + FOREIGN KEY (company_id) REFERENCES Company (id), + FOREIGN KEY (first_employee_id) REFERENCES Employee (id), + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS Chat_Employee ( + id BIGINT AUTO_INCREMENT, + chat_id BIGINT NOT NULL, + second_employee_id BIGINT NOT NULL, + FOREIGN KEY (chat_id) REFERENCES Chat (id), + FOREIGN KEY (second_employee_id) REFERENCES Employee (id), + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS Message ( + id BIGINT AUTO_INCREMENT, + user_to BIGINT NOT NULL, + user_from BIGINT NOT NULL, + message VARCHAR(255) NOT NULL, + created_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + read_date TIMESTAMP, + chat_id BIGINT NOT NULL, + FOREIGN KEY (chat_id) REFERENCES Chat (id), + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS GamifiedJourney ( + id BIGINT AUTO_INCREMENT, + welcome_video_link VARCHAR(255), + company_id BIGINT NOT NULL, + FOREIGN KEY (company_id) REFERENCES Company (id), + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS Game ( + id BIGINT AUTO_INCREMENT, + name VARCHAR(255) NOT NULL, + gamified_journey_id BIGINT NOT NULL, + FOREIGN KEY (gamified_journey_id) REFERENCES GamifiedJourney (id), + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS Medal ( + id BIGINT AUTO_INCREMENT, + name VARCHAR(255) NOT NULL, + image BLOB NOT NULL, + game_id BIGINT NOT NULL, + FOREIGN KEY (game_id) REFERENCES Game (id), + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS Score ( + id BIGINT AUTO_INCREMENT, + total_points INTEGER NOT NULL DEFAULT 0, + last_updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + employee_id BIGINT NOT NULL, + FOREIGN KEY (employee_id) REFERENCES Employee (id), + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS Medal_Score ( + id BIGINT AUTO_INCREMENT, + medal_id BIGINT NOT NULL, + score_id BIGINT NOT NULL, + FOREIGN KEY (medal_id) REFERENCES Medal (id), + FOREIGN KEY (score_id) REFERENCES Score (id), + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS Quiz ( + id BIGINT AUTO_INCREMENT, + link_video VARCHAR(255) NOT NULL, + score INTEGER NOT NULL, + title VARCHAR(255) NOT NULL, + question VARCHAR(255) NOT NULL, + quiz_type ENUM('culture','principle') NOT NULL, + game_id BIGINT NOT NULL, + FOREIGN KEY (game_id) REFERENCES Game (id), + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS Alternative ( + id BIGINT AUTO_INCREMENT, + alternative_text VARCHAR(255) NOT NULL, + is_answer TINYINT NOT NULL DEFAULT 0, + quiz_id BIGINT NOT NULL, + FOREIGN KEY (quiz_id) REFERENCES Quiz (id), + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS CategoryTool ( + id BIGINT AUTO_INCREMENT, + name VARCHAR(255) NOT NULL, + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS Tool ( + id BIGINT AUTO_INCREMENT, + link_download VARCHAR(255) NOT NULL, + score INTEGER NOT NULL, + name VARCHAR(255) NOT NULL, + game_id BIGINT NOT NULL, + category_id BIGINT NOT NULL, + FOREIGN KEY (game_id) REFERENCES Game (id), + FOREIGN KEY (category_id) REFERENCES CategoryTool (id), + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS Employee_Alternative ( + id BIGINT AUTO_INCREMENT, + employee_id BIGINT NOT NULL, + alternative_id BIGINT NOT NULL, + FOREIGN KEY (employee_id) REFERENCES Employee (id), + FOREIGN KEY (alternative_id) REFERENCES Alternative (id), + PRIMARY KEY (id) +); + +CREATE TABLE IF NOT EXISTS Employee_Tool ( + id BIGINT AUTO_INCREMENT, + employee_id BIGINT NOT NULL, + tool_id BIGINT NOT NULL, + FOREIGN KEY (employee_id) REFERENCES Employee (id), + FOREIGN KEY (tool_id) REFERENCES Tool (id), + PRIMARY KEY (id) +); \ No newline at end of file diff --git a/docker-rh/Dockerfile b/docker-rh/Dockerfile index f44a326..07672aa 100644 --- a/docker-rh/Dockerfile +++ b/docker-rh/Dockerfile @@ -2,4 +2,4 @@ FROM mysql:latest ENV MYSQL_ROOT_PASSWORD=admin123 -COPY ./DDL_RH.sql /docker-entrypoint-initdb.d/ \ No newline at end of file +COPY ./DDL_onboarding.sql /docker-entrypoint-initdb.d/ \ No newline at end of file