migration.sql 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  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 `CacheSyncAction` (
  14. `id` BIGINT NOT NULL AUTO_INCREMENT,
  15. `entityType` VARCHAR(50) NOT NULL,
  16. `entityId` BIGINT NULL,
  17. `operation` VARCHAR(50) NOT NULL,
  18. `status` VARCHAR(20) NOT NULL,
  19. `attempts` INTEGER NOT NULL DEFAULT 0,
  20. `nextAttemptAt` BIGINT NULL,
  21. `lastError` VARCHAR(500) NULL,
  22. `payload` JSON NULL,
  23. `createdAt` BIGINT NOT NULL,
  24. `updatedAt` BIGINT NOT NULL,
  25. INDEX `CacheSyncAction_status_nextAttemptAt_idx`(`status`, `nextAttemptAt`),
  26. INDEX `CacheSyncAction_entityType_entityId_idx`(`entityType`, `entityId`),
  27. PRIMARY KEY (`id`)
  28. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  29. -- CreateTable
  30. CREATE TABLE `image_config` (
  31. `id` INTEGER NOT NULL AUTO_INCREMENT,
  32. `channel_id` INTEGER NULL,
  33. `provider_decode_base` VARCHAR(191) NULL,
  34. `local_base_url` VARCHAR(191) NULL,
  35. `s3_base_url` VARCHAR(191) NULL,
  36. `preferred_source` ENUM('PROVIDER', 'LOCAL_ONLY', 'S3_ONLY', 'S3_AND_LOCAL') NOT NULL DEFAULT 'PROVIDER',
  37. `status` INTEGER NOT NULL DEFAULT 1,
  38. `create_at` BIGINT NOT NULL DEFAULT 0,
  39. `update_at` BIGINT NOT NULL DEFAULT 0,
  40. INDEX `idx_image_config_channel_id`(`channel_id`),
  41. PRIMARY KEY (`id`)
  42. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  43. -- CreateTable
  44. CREATE TABLE `sys_login_log` (
  45. `id` INTEGER NOT NULL AUTO_INCREMENT,
  46. `type` ENUM('LOGIN', 'LOGOUT') NOT NULL,
  47. `status` ENUM('SUCCESS', 'USERNAME_OR_PASSWORD_ERROR', 'USER_DISABLED', 'IP_LIMITED', 'TWO_FA_CODE_ERROR', 'TWO_FA_NOT_ENABLED', 'TWO_FA_REQUIRED') NOT NULL,
  48. `username` VARCHAR(191) NOT NULL,
  49. `ip_address` VARCHAR(191) NOT NULL,
  50. `user_agent` VARCHAR(191) NOT NULL,
  51. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  52. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  53. PRIMARY KEY (`id`)
  54. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  55. -- CreateTable
  56. CREATE TABLE `ProviderVideoSync` (
  57. `id` INTEGER NOT NULL AUTO_INCREMENT,
  58. `providerCode` VARCHAR(191) NOT NULL,
  59. `providerVideoId` VARCHAR(191) NOT NULL,
  60. `videoMediaId` VARCHAR(191) NOT NULL,
  61. `lastProviderUpdatedAt` BIGINT NOT NULL,
  62. `lastSyncedAt` BIGINT NOT NULL,
  63. `syncStatus` INTEGER NOT NULL DEFAULT 0,
  64. `lastError` VARCHAR(500) NULL,
  65. PRIMARY KEY (`id`)
  66. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  67. -- CreateTable
  68. CREATE TABLE `sys_menu` (
  69. `id` INTEGER NOT NULL AUTO_INCREMENT,
  70. `parent_id` INTEGER NULL,
  71. `title` VARCHAR(191) NOT NULL,
  72. `status` BOOLEAN NOT NULL DEFAULT true,
  73. `type` ENUM('DIRECTORY', 'MENU', 'SUBMENU', 'BUTTON') NOT NULL,
  74. `order` INTEGER NOT NULL,
  75. `frontend_auth` VARCHAR(191) NULL,
  76. `path` VARCHAR(191) NULL,
  77. `name` VARCHAR(191) NULL,
  78. `icon` VARCHAR(191) NULL,
  79. `redirect` VARCHAR(191) NULL,
  80. `component_key` VARCHAR(191) NULL,
  81. `meta` JSON NULL,
  82. `canView` INTEGER NOT NULL DEFAULT 0,
  83. `canCreate` INTEGER NOT NULL DEFAULT 0,
  84. `canUpdate` INTEGER NOT NULL DEFAULT 0,
  85. `canDelete` INTEGER NOT NULL DEFAULT 0,
  86. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  87. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  88. UNIQUE INDEX `sys_menu_frontend_auth_key`(`frontend_auth`),
  89. PRIMARY KEY (`id`)
  90. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  91. -- CreateTable
  92. CREATE TABLE `sys_operation_log` (
  93. `id` INTEGER NOT NULL AUTO_INCREMENT,
  94. `username` VARCHAR(191) NULL,
  95. `menu_id` INTEGER NULL,
  96. `description` VARCHAR(191) NOT NULL,
  97. `type` ENUM('CREATE', 'READ', 'UPDATE', 'DELETE') NOT NULL,
  98. `status` BOOLEAN NOT NULL,
  99. `method` VARCHAR(191) NOT NULL,
  100. `path` VARCHAR(191) NOT NULL,
  101. `body` JSON NULL,
  102. `response` JSON NULL,
  103. `ip_address` VARCHAR(191) NOT NULL,
  104. `call_method` VARCHAR(191) NOT NULL,
  105. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  106. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  107. PRIMARY KEY (`id`)
  108. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  109. -- CreateTable
  110. CREATE TABLE `sys_quota_log` (
  111. `id` INTEGER NOT NULL AUTO_INCREMENT,
  112. `username` VARCHAR(191) NOT NULL,
  113. `op_username` VARCHAR(191) NOT NULL,
  114. `amount` BIGINT NOT NULL,
  115. `is_inc` BOOLEAN NOT NULL,
  116. `quota` BIGINT NOT NULL,
  117. `remark` VARCHAR(191) NULL,
  118. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  119. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  120. PRIMARY KEY (`id`)
  121. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  122. -- CreateTable
  123. CREATE TABLE `sys_role_api_permission` (
  124. `id` INTEGER NOT NULL AUTO_INCREMENT,
  125. `role_id` INTEGER NOT NULL,
  126. `api_permission_id` INTEGER NOT NULL,
  127. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  128. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  129. UNIQUE INDEX `sys_role_api_permission_role_id_api_permission_id_key`(`role_id`, `api_permission_id`),
  130. PRIMARY KEY (`id`)
  131. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  132. -- CreateTable
  133. CREATE TABLE `sys_role_menu` (
  134. `id` INTEGER NOT NULL AUTO_INCREMENT,
  135. `role_id` INTEGER NOT NULL,
  136. `menu_id` INTEGER NOT NULL,
  137. `canView` INTEGER NOT NULL DEFAULT 0,
  138. `canCreate` INTEGER NOT NULL DEFAULT 0,
  139. `canUpdate` INTEGER NOT NULL DEFAULT 0,
  140. `canDelete` INTEGER NOT NULL DEFAULT 0,
  141. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  142. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  143. UNIQUE INDEX `sys_role_menu_role_id_menu_id_key`(`role_id`, `menu_id`),
  144. PRIMARY KEY (`id`)
  145. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  146. -- CreateTable
  147. CREATE TABLE `sys_role` (
  148. `id` INTEGER NOT NULL AUTO_INCREMENT,
  149. `name` VARCHAR(191) NOT NULL,
  150. `status` BOOLEAN NOT NULL DEFAULT true,
  151. `remark` VARCHAR(191) NULL,
  152. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  153. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  154. UNIQUE INDEX `sys_role_name_key`(`name`),
  155. PRIMARY KEY (`id`)
  156. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  157. -- CreateTable
  158. CREATE TABLE `sys_user_role` (
  159. `id` INTEGER NOT NULL AUTO_INCREMENT,
  160. `user_id` INTEGER NOT NULL,
  161. `role_id` INTEGER NOT NULL,
  162. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  163. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  164. UNIQUE INDEX `sys_user_role_user_id_role_id_key`(`user_id`, `role_id`),
  165. PRIMARY KEY (`id`)
  166. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  167. -- CreateTable
  168. CREATE TABLE `sys_user` (
  169. `id` INTEGER NOT NULL AUTO_INCREMENT,
  170. `username` VARCHAR(191) NOT NULL,
  171. `password` VARCHAR(191) NOT NULL,
  172. `status` INTEGER NOT NULL DEFAULT 1,
  173. `nick` VARCHAR(100) NULL,
  174. `photo` VARCHAR(1024) NULL,
  175. `remark` VARCHAR(256) NULL,
  176. `twoFA` VARCHAR(256) NULL,
  177. `twoFALastUsedStep` INTEGER NULL,
  178. `twoFARecoveryCodes` JSON NULL,
  179. `create_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  180. `update_time` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  181. `allowIps` JSON NULL,
  182. `jwtToken` VARCHAR(1024) NULL,
  183. `oAuthJwtToken` VARCHAR(1024) NULL,
  184. `lastLoginTime` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
  185. UNIQUE INDEX `sys_user_username_key`(`username`),
  186. PRIMARY KEY (`id`)
  187. ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  188. -- AddForeignKey
  189. 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;
  190. -- AddForeignKey
  191. 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;
  192. -- AddForeignKey
  193. 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;
  194. -- AddForeignKey
  195. 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;
  196. -- AddForeignKey
  197. 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;
  198. -- AddForeignKey
  199. 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;
  200. -- AddForeignKey
  201. 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;
  202. -- AddForeignKey
  203. 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;