init.sql 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. -- MySQL Workbench Forward Engineering
  2. SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
  3. SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
  4. 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';
  5. -- -----------------------------------------------------
  6. -- Schema mydb
  7. -- -----------------------------------------------------
  8. -- -----------------------------------------------------
  9. -- Schema topperstasks
  10. -- -----------------------------------------------------
  11. -- -----------------------------------------------------
  12. -- Schema topperstasks
  13. -- -----------------------------------------------------
  14. CREATE SCHEMA IF NOT EXISTS `topperstasks` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci ;
  15. USE `topperstasks` ;
  16. -- -----------------------------------------------------
  17. -- Table `topperstasks`.`users`
  18. -- -----------------------------------------------------
  19. CREATE TABLE IF NOT EXISTS `topperstasks`.`users` (
  20. `id` INT NOT NULL AUTO_INCREMENT,
  21. `username` VARCHAR(64) NOT NULL,
  22. `passhash` VARCHAR(60) CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci' NULL DEFAULT NULL,
  23. `is_admin` TINYINT(1) NULL DEFAULT NULL,
  24. PRIMARY KEY (`id`),
  25. UNIQUE INDEX `users_unique_1` (`username` ASC) VISIBLE)
  26. ENGINE = InnoDB
  27. AUTO_INCREMENT = 4
  28. DEFAULT CHARACTER SET = utf8mb4
  29. COLLATE = utf8mb4_0900_ai_ci;
  30. -- -----------------------------------------------------
  31. -- Table `topperstasks`.`tasks`
  32. -- -----------------------------------------------------
  33. CREATE TABLE IF NOT EXISTS `topperstasks`.`tasks` (
  34. `tasktext` TEXT NOT NULL,
  35. `id` INT NOT NULL AUTO_INCREMENT,
  36. `created_datetime` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  37. `due` DATETIME NULL DEFAULT NULL,
  38. `deleted` TINYINT(1) NULL DEFAULT '0',
  39. `completed` TINYINT(1) NULL DEFAULT '0',
  40. `created_by` INT NULL DEFAULT NULL,
  41. PRIMARY KEY (`id`),
  42. INDEX `tasks_users_FK` (`created_by` ASC) VISIBLE,
  43. CONSTRAINT `tasks_users_FK`
  44. FOREIGN KEY (`created_by`)
  45. REFERENCES `topperstasks`.`users` (`id`)
  46. ON DELETE SET NULL
  47. ON UPDATE CASCADE)
  48. ENGINE = InnoDB
  49. AUTO_INCREMENT = 4
  50. DEFAULT CHARACTER SET = utf8mb4
  51. COLLATE = utf8mb4_0900_ai_ci;
  52. -- -----------------------------------------------------
  53. -- Table `topperstasks`.`task_assignments`
  54. -- -----------------------------------------------------
  55. CREATE TABLE IF NOT EXISTS `topperstasks`.`task_assignments` (
  56. `id` INT NOT NULL AUTO_INCREMENT,
  57. `user_id` INT NOT NULL,
  58. `task_id` INT NOT NULL,
  59. PRIMARY KEY (`id`),
  60. UNIQUE INDEX `task_assignments_user_id_IDX` USING BTREE (`user_id`, `task_id`) VISIBLE,
  61. INDEX `task_assignments_tasks_FK` (`task_id` ASC) VISIBLE,
  62. CONSTRAINT `task_assignments_tasks_FK`
  63. FOREIGN KEY (`task_id`)
  64. REFERENCES `topperstasks`.`tasks` (`id`)
  65. ON DELETE CASCADE
  66. ON UPDATE CASCADE,
  67. CONSTRAINT `task_assignments_users_FK`
  68. FOREIGN KEY (`user_id`)
  69. REFERENCES `topperstasks`.`users` (`id`)
  70. ON DELETE CASCADE
  71. ON UPDATE CASCADE)
  72. ENGINE = InnoDB
  73. AUTO_INCREMENT = 9
  74. DEFAULT CHARACTER SET = utf8mb4
  75. COLLATE = utf8mb4_0900_ai_ci;
  76. SET SQL_MODE=@OLD_SQL_MODE;
  77. SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
  78. SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;