LocationAPI/aclocDB.sql

213 lines
8.2 KiB
SQL

-- MySQL Script generated by MySQL Workbench
-- Thu Apr 17 17:43:11 2025
-- 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 dbmaster
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema dbmaster
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `dbmaster` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci ;
USE `dbmaster` ;
-- -----------------------------------------------------
-- Table `dbmaster`.`endpoints`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dbmaster`.`endpoints` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`uuid` VARCHAR(255) NOT NULL,
`route` VARCHAR(255) NOT NULL,
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`createdBy` VARCHAR(255) NULL DEFAULT NULL,
`deleted` DATETIME NULL DEFAULT NULL,
`deletedBy` VARCHAR(255) NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `uuid_UNIQUE` (`uuid` ASC) VISIBLE)
ENGINE = InnoDB
AUTO_INCREMENT = 23
DEFAULT CHARACTER SET = utf8mb3;
-- -----------------------------------------------------
-- Table `dbmaster`.`permissions`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dbmaster`.`permissions` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`uuid` VARCHAR(255) NOT NULL,
`action` ENUM('GET', 'POST', 'PUT', 'DELETE') NOT NULL,
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`createdBy` VARCHAR(255) NULL DEFAULT NULL,
`deleted` DATETIME NULL DEFAULT NULL,
`deletedBy` VARCHAR(255) NULL DEFAULT NULL,
`fk_endpoint` BIGINT NOT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `uuid_UNIQUE` (`uuid` ASC) VISIBLE,
INDEX `fk_permissions_endpoints1_idx` (`fk_endpoint` ASC) VISIBLE,
CONSTRAINT `fk_permissions_endpoints1`
FOREIGN KEY (`fk_endpoint`)
REFERENCES `dbmaster`.`endpoints` (`id`))
ENGINE = InnoDB
AUTO_INCREMENT = 49
DEFAULT CHARACTER SET = utf8mb3;
-- -----------------------------------------------------
-- Table `dbmaster`.`places`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dbmaster`.`places` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`uuid` VARCHAR(255) NOT NULL,
`name` VARCHAR(45) NOT NULL,
`description` VARCHAR(45) NULL DEFAULT NULL,
`address` VARCHAR(255) NULL DEFAULT NULL,
`latitude` DECIMAL(10,7) NOT NULL,
`longitude` DECIMAL(11,7) NOT NULL,
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`createdBy` VARCHAR(255) NULL DEFAULT NULL,
`deleted` DATETIME NULL DEFAULT NULL,
`deletedBy` VARCHAR(255) NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `uuid_UNIQUE` (`uuid` ASC) VISIBLE)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb3;
-- -----------------------------------------------------
-- Table `dbmaster`.`report_types`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dbmaster`.`report_types` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`uuid` VARCHAR(255) NOT NULL,
`name` VARCHAR(255) NOT NULL,
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`createdBy` VARCHAR(255) NULL DEFAULT NULL,
`deleted` DATETIME NULL DEFAULT NULL,
`deletedBy` VARCHAR(255) NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `uuid_UNIQUE` (`uuid` ASC) VISIBLE,
UNIQUE INDEX `name_UNIQUE` (`name` ASC) VISIBLE)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb3;
-- -----------------------------------------------------
-- Table `dbmaster`.`roles`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dbmaster`.`roles` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`uuid` VARCHAR(255) NOT NULL,
`name` VARCHAR(255) NOT NULL,
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`createdBy` VARCHAR(255) NULL DEFAULT NULL,
`deleted` DATETIME NULL DEFAULT NULL,
`deletedBy` VARCHAR(255) NULL DEFAULT NULL,
`name_active` VARCHAR(255) GENERATED ALWAYS AS ((case when (`deleted` is null) then `name` else NULL end)) STORED,
PRIMARY KEY (`id`),
UNIQUE INDEX `uuid_UNIQUE` (`uuid` ASC) VISIBLE,
UNIQUE INDEX `name_active_UNIQUE` (`name_active` ASC) VISIBLE)
ENGINE = InnoDB
AUTO_INCREMENT = 3
DEFAULT CHARACTER SET = utf8mb3;
-- -----------------------------------------------------
-- Table `dbmaster`.`roles_has_permissions`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dbmaster`.`roles_has_permissions` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`uuid` VARCHAR(255) NOT NULL,
`fk_role` BIGINT NOT NULL,
`fk_permission` BIGINT NOT NULL,
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`createdBy` VARCHAR(255) NULL DEFAULT NULL,
`deleted` DATETIME NULL DEFAULT NULL,
`deletedBy` VARCHAR(255) NULL DEFAULT NULL,
PRIMARY KEY (`id`, `fk_role`, `fk_permission`),
UNIQUE INDEX `uuid_UNIQUE` (`uuid` ASC) VISIBLE,
INDEX `fk_roles_has_permissions_permissions1_idx` (`fk_permission` ASC) VISIBLE,
INDEX `fk_roles_has_permissions_roles1_idx` (`fk_role` ASC) VISIBLE,
CONSTRAINT `fk_roles_has_permissions_permissions1`
FOREIGN KEY (`fk_permission`)
REFERENCES `dbmaster`.`permissions` (`id`),
CONSTRAINT `fk_roles_has_permissions_roles1`
FOREIGN KEY (`fk_role`)
REFERENCES `dbmaster`.`roles` (`id`))
ENGINE = InnoDB
AUTO_INCREMENT = 49
DEFAULT CHARACTER SET = utf8mb3;
-- -----------------------------------------------------
-- Table `dbmaster`.`users`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dbmaster`.`users` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`username` VARCHAR(255) NOT NULL,
`email` VARCHAR(255) NULL DEFAULT NULL,
`password` VARCHAR(255) NOT NULL,
`uuid` VARCHAR(255) NOT NULL,
`fk_role` BIGINT NOT NULL,
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`createdBy` VARCHAR(255) NULL DEFAULT NULL,
`deleted` DATETIME NULL DEFAULT NULL,
`deletedBy` VARCHAR(255) NULL DEFAULT NULL,
`username_active` VARCHAR(255) GENERATED ALWAYS AS ((case when (`deleted` is null) then `username` else NULL end)) STORED,
PRIMARY KEY (`id`),
UNIQUE INDEX `uuid_UNIQUE` (`uuid` ASC) VISIBLE,
UNIQUE INDEX `username_active_UNIQUE` (`username_active` ASC) VISIBLE,
INDEX `fk_user_roles1_idx` (`fk_role` ASC) VISIBLE,
CONSTRAINT `fk_role`
FOREIGN KEY (`fk_role`)
REFERENCES `dbmaster`.`roles` (`id`))
ENGINE = InnoDB
AUTO_INCREMENT = 22
DEFAULT CHARACTER SET = utf8mb3;
-- -----------------------------------------------------
-- Table `dbmaster`.`users_has_places`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dbmaster`.`users_has_places` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`uuid` VARCHAR(255) NOT NULL,
`fk_user` BIGINT NOT NULL,
`fk_place` BIGINT NOT NULL,
`fk_report_type` BIGINT NOT NULL,
`rating` INT NOT NULL,
`description` VARCHAR(255) NULL DEFAULT NULL,
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`createdBy` VARCHAR(255) NULL DEFAULT NULL,
`deleted` DATETIME NULL DEFAULT NULL,
`deletedBy` VARCHAR(255) NULL DEFAULT NULL,
PRIMARY KEY (`id`, `fk_user`, `fk_place`),
UNIQUE INDEX `uuid_UNIQUE` (`uuid` ASC) VISIBLE,
INDEX `fk_users_has_places_places1_idx` (`fk_place` ASC) VISIBLE,
INDEX `fk_users_has_places_users1_idx` (`fk_user` ASC) VISIBLE,
INDEX `fk_users_has_places_report_types1_idx` (`fk_report_type` ASC) VISIBLE,
CONSTRAINT `fk_users_has_places_places1`
FOREIGN KEY (`fk_place`)
REFERENCES `dbmaster`.`places` (`id`),
CONSTRAINT `fk_users_has_places_report_types1`
FOREIGN KEY (`fk_report_type`)
REFERENCES `dbmaster`.`report_types` (`id`),
CONSTRAINT `fk_users_has_places_users1`
FOREIGN KEY (`fk_user`)
REFERENCES `dbmaster`.`users` (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb3;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;