migration.sql 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. -- CreateTable
  2. CREATE TABLE `sys_api_permission` (
  3. `id` INTEGER NOT NULL AUTO_INCREMENT,
  4. `menu_id` INTEGER NOT NULL,
  5. `path` VARCHAR(191) NOT NULL,
  6. `method` VARCHAR(191) NOT NULL,
  7. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  8. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  9. UNIQUE INDEX `sys_api_permission_menu_id_path_method_key`(`menu_id`, `path`, `method`),
  10. PRIMARY KEY (`id`)
  11. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  12. -- CreateTable
  13. CREATE TABLE `sys_login_log` (
  14. `id` INTEGER NOT NULL AUTO_INCREMENT,
  15. `type` ENUM('LOGIN', 'LOGOUT') NOT NULL,
  16. `status` ENUM('SUCCESS', 'USERNAME_OR_PASSWORD_ERROR', 'USER_DISABLED', 'IP_LIMITED', 'TWO_FA_CODE_ERROR', 'TWO_FA_NOT_ENABLED', 'TWO_FA_REQUIRED') NOT NULL,
  17. `username` VARCHAR(191) NOT NULL,
  18. `ip_address` VARCHAR(191) NOT NULL,
  19. `user_agent` VARCHAR(191) NOT NULL,
  20. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  21. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  22. PRIMARY KEY (`id`)
  23. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  24. -- CreateTable
  25. CREATE TABLE `sys_menu` (
  26. `id` INTEGER NOT NULL AUTO_INCREMENT,
  27. `parent_id` INTEGER NULL,
  28. `title` VARCHAR(191) NOT NULL,
  29. `status` BOOLEAN NOT NULL DEFAULT true,
  30. `type` ENUM('DIRECTORY', 'MENU', 'SUBMENU', 'BUTTON') NOT NULL,
  31. `order` INTEGER NOT NULL,
  32. `frontend_auth` VARCHAR(191) NULL,
  33. `path` VARCHAR(191) NULL,
  34. `name` VARCHAR(191) NULL,
  35. `icon` VARCHAR(191) NULL,
  36. `redirect` VARCHAR(191) NULL,
  37. `component_key` VARCHAR(191) NULL,
  38. `meta` JSON NULL,
  39. `canView` INTEGER NOT NULL DEFAULT 0,
  40. `canCreate` INTEGER NOT NULL DEFAULT 0,
  41. `canUpdate` INTEGER NOT NULL DEFAULT 0,
  42. `canDelete` INTEGER NOT NULL DEFAULT 0,
  43. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  44. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  45. UNIQUE INDEX `sys_menu_frontend_auth_key`(`frontend_auth`),
  46. PRIMARY KEY (`id`)
  47. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  48. -- CreateTable
  49. CREATE TABLE `sys_operation_log` (
  50. `id` INTEGER NOT NULL AUTO_INCREMENT,
  51. `username` VARCHAR(191) NULL,
  52. `menu_id` INTEGER NULL,
  53. `description` VARCHAR(191) NOT NULL,
  54. `type` ENUM('CREATE', 'READ', 'UPDATE', 'DELETE') NOT NULL,
  55. `status` BOOLEAN NOT NULL,
  56. `method` VARCHAR(191) NOT NULL,
  57. `path` VARCHAR(191) NOT NULL,
  58. `body` JSON NULL,
  59. `response` JSON NULL,
  60. `ip_address` VARCHAR(191) NOT NULL,
  61. `call_method` VARCHAR(191) NOT NULL,
  62. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  63. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  64. PRIMARY KEY (`id`)
  65. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  66. -- CreateTable
  67. CREATE TABLE `sys_quota_log` (
  68. `id` INTEGER NOT NULL AUTO_INCREMENT,
  69. `username` VARCHAR(191) NOT NULL,
  70. `op_username` VARCHAR(191) NOT NULL,
  71. `amount` BIGINT NOT NULL,
  72. `is_inc` BOOLEAN NOT NULL,
  73. `quota` BIGINT NOT NULL,
  74. `remark` VARCHAR(191) NULL,
  75. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  76. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  77. PRIMARY KEY (`id`)
  78. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  79. -- CreateTable
  80. CREATE TABLE `sys_role_api_permission` (
  81. `id` INTEGER NOT NULL AUTO_INCREMENT,
  82. `role_id` INTEGER NOT NULL,
  83. `api_permission_id` INTEGER NOT NULL,
  84. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  85. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  86. UNIQUE INDEX `sys_role_api_permission_role_id_api_permission_id_key`(`role_id`, `api_permission_id`),
  87. PRIMARY KEY (`id`)
  88. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  89. -- CreateTable
  90. CREATE TABLE `sys_role_menu` (
  91. `id` INTEGER NOT NULL AUTO_INCREMENT,
  92. `role_id` INTEGER NOT NULL,
  93. `menu_id` INTEGER NOT NULL,
  94. `canView` INTEGER NOT NULL DEFAULT 0,
  95. `canCreate` INTEGER NOT NULL DEFAULT 0,
  96. `canUpdate` INTEGER NOT NULL DEFAULT 0,
  97. `canDelete` INTEGER NOT NULL DEFAULT 0,
  98. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  99. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  100. UNIQUE INDEX `sys_role_menu_role_id_menu_id_key`(`role_id`, `menu_id`),
  101. PRIMARY KEY (`id`)
  102. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  103. -- CreateTable
  104. CREATE TABLE `sys_role` (
  105. `id` INTEGER NOT NULL AUTO_INCREMENT,
  106. `name` VARCHAR(191) NOT NULL,
  107. `status` BOOLEAN NOT NULL DEFAULT true,
  108. `remark` VARCHAR(191) NULL,
  109. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  110. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  111. UNIQUE INDEX `sys_role_name_key`(`name`),
  112. PRIMARY KEY (`id`)
  113. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  114. -- CreateTable
  115. CREATE TABLE `sys_user_role` (
  116. `id` INTEGER NOT NULL AUTO_INCREMENT,
  117. `user_id` INTEGER NOT NULL,
  118. `role_id` INTEGER NOT NULL,
  119. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  120. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  121. UNIQUE INDEX `sys_user_role_user_id_role_id_key`(`user_id`, `role_id`),
  122. PRIMARY KEY (`id`)
  123. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  124. -- CreateTable
  125. CREATE TABLE `sys_user` (
  126. `id` INTEGER NOT NULL AUTO_INCREMENT,
  127. `username` VARCHAR(191) NOT NULL,
  128. `password` VARCHAR(191) NOT NULL,
  129. `status` INTEGER NOT NULL DEFAULT 1,
  130. `nick` VARCHAR(100) NULL,
  131. `photo` VARCHAR(1024) NULL,
  132. `remark` VARCHAR(256) NULL,
  133. `twoFA` VARCHAR(256) NULL,
  134. `twoFALastUsedStep` INTEGER NULL,
  135. `twoFARecoveryCodes` JSON NULL,
  136. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  137. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  138. `allowIps` JSON NULL,
  139. `jwtToken` VARCHAR(1024) NULL,
  140. `oAuthJwtToken` VARCHAR(1024) NULL,
  141. `lastLoginTime` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  142. UNIQUE INDEX `sys_user_username_key`(`username`),
  143. PRIMARY KEY (`id`)
  144. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  145. -- AddForeignKey
  146. ALTER TABLE `sys_api_permission` ADD CONSTRAINT `sys_api_permission_menu_id_fkey` FOREIGN KEY (`menu_id`) REFERENCES `sys_menu`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
  147. -- AddForeignKey
  148. ALTER TABLE `sys_menu` ADD CONSTRAINT `sys_menu_parent_id_fkey` FOREIGN KEY (`parent_id`) REFERENCES `sys_menu`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
  149. -- AddForeignKey
  150. ALTER TABLE `sys_role_api_permission` ADD CONSTRAINT `sys_role_api_permission_role_id_fkey` FOREIGN KEY (`role_id`) REFERENCES `sys_role`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
  151. -- AddForeignKey
  152. ALTER TABLE `sys_role_api_permission` ADD CONSTRAINT `sys_role_api_permission_api_permission_id_fkey` FOREIGN KEY (`api_permission_id`) REFERENCES `sys_api_permission`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
  153. -- AddForeignKey
  154. ALTER TABLE `sys_role_menu` ADD CONSTRAINT `sys_role_menu_role_id_fkey` FOREIGN KEY (`role_id`) REFERENCES `sys_role`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
  155. -- AddForeignKey
  156. ALTER TABLE `sys_role_menu` ADD CONSTRAINT `sys_role_menu_menu_id_fkey` FOREIGN KEY (`menu_id`) REFERENCES `sys_menu`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
  157. -- AddForeignKey
  158. ALTER TABLE `sys_user_role` ADD CONSTRAINT `sys_user_role_user_id_fkey` FOREIGN KEY (`user_id`) REFERENCES `sys_user`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
  159. -- AddForeignKey
  160. ALTER TABLE `sys_user_role` ADD CONSTRAINT `sys_user_role_role_id_fkey` FOREIGN KEY (`role_id`) REFERENCES `sys_role`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;