init.sql 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. -- MySQL Workbench Forward Engineering
  2. SET @OLD_UNIQUE_CHECKS = @@UNIQUE_CHECKS,
  3. UNIQUE_CHECKS = 0;
  4. SET @OLD_FOREIGN_KEY_CHECKS = @@FOREIGN_KEY_CHECKS,
  5. FOREIGN_KEY_CHECKS = 0;
  6. SET @OLD_SQL_MODE = @@SQL_MODE,
  7. SQL_MODE = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
  8. -- -----------------------------------------------------
  9. -- Schema mydb
  10. -- -----------------------------------------------------
  11. -- -----------------------------------------------------
  12. -- Schema topperstasks
  13. -- -----------------------------------------------------
  14. -- -----------------------------------------------------
  15. -- Schema topperstasks
  16. -- -----------------------------------------------------
  17. CREATE SCHEMA IF NOT EXISTS `topperstasks` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
  18. USE `topperstasks`;
  19. -- -----------------------------------------------------
  20. -- Table `topperstasks`.`users`
  21. -- -----------------------------------------------------
  22. CREATE TABLE IF NOT EXISTS `topperstasks`.`users` (
  23. `id` INT NOT NULL AUTO_INCREMENT,
  24. `username` VARCHAR(64) NOT NULL,
  25. `passhash` VARCHAR(60) CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_0900_ai_ci' NULL DEFAULT NULL,
  26. `is_admin` TINYINT(1) NULL DEFAULT NULL,
  27. PRIMARY KEY (`id`),
  28. UNIQUE INDEX `users_unique_1` (`username` ASC) VISIBLE
  29. ) ENGINE = InnoDB AUTO_INCREMENT = 4 DEFAULT CHARACTER SET = utf8mb4 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` FOREIGN KEY (`created_by`) REFERENCES `topperstasks`.`users` (`id`) ON DELETE
  44. SET NULL ON UPDATE CASCADE
  45. ) ENGINE = InnoDB AUTO_INCREMENT = 4 DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
  46. -- -----------------------------------------------------
  47. -- Table `topperstasks`.`task_assignments`
  48. -- -----------------------------------------------------
  49. CREATE TABLE IF NOT EXISTS `topperstasks`.`task_assignments` (
  50. `id` INT NOT NULL AUTO_INCREMENT,
  51. `user_id` INT NOT NULL,
  52. `task_id` INT NOT NULL,
  53. PRIMARY KEY (`id`),
  54. UNIQUE INDEX `task_assignments_user_id_IDX` USING BTREE (`user_id`, `task_id`) VISIBLE,
  55. INDEX `task_assignments_tasks_FK` (`task_id` ASC) VISIBLE,
  56. CONSTRAINT `task_assignments_tasks_FK` FOREIGN KEY (`task_id`) REFERENCES `topperstasks`.`tasks` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  57. CONSTRAINT `task_assignments_users_FK` FOREIGN KEY (`user_id`) REFERENCES `topperstasks`.`users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
  58. ) ENGINE = InnoDB AUTO_INCREMENT = 9 DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
  59. SET SQL_MODE = @OLD_SQL_MODE;
  60. SET FOREIGN_KEY_CHECKS = @OLD_FOREIGN_KEY_CHECKS;
  61. SET UNIQUE_CHECKS = @OLD_UNIQUE_CHECKS;
  62. INSERT INTO `topperstasks`.`users` (`username`, `is_admin`)
  63. values ('Pjotir', 1);