20260228_create_buff_selection_request_tables.sql 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. -- BUFF 选品请求单 & 选品请求单-选中饰品明细
  2. -- 用户发起一次选品即生成一条请求单,本次选中的饰品写入明细表;所有数据按 user_id 隔离。
  3. SET NAMES utf8mb4;
  4. -- ----------------------------
  5. -- 选品请求单表:每次用户发起选品生成一条
  6. -- ----------------------------
  7. DROP TABLE IF EXISTS `buff_selection_request`;
  8. CREATE TABLE `buff_selection_request` (
  9. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  10. `user_id` int(10) unsigned NOT NULL COMMENT '用户ID,关联 users.id,按用户隔离',
  11. `config_id` bigint(20) unsigned DEFAULT NULL COMMENT '本次选品使用的配置ID,关联 buff_selection_config.id',
  12. `status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT '状态:pending-待执行,running-执行中,completed-已完成,failed-失败',
  13. `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  14. `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  15. PRIMARY KEY (`id`),
  16. KEY `idx_user_id` (`user_id`),
  17. KEY `idx_user_created` (`user_id`,`created_at`),
  18. KEY `idx_status` (`status`),
  19. KEY `idx_config_id` (`config_id`)
  20. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BUFF选品请求单表';
  21. -- ----------------------------
  22. -- 选品请求单-选中饰品明细表:每条记录为某次请求选中的一件饰品
  23. -- ----------------------------
  24. DROP TABLE IF EXISTS `buff_selection_request_item`;
  25. CREATE TABLE `buff_selection_request_item` (
  26. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  27. `request_id` bigint(20) unsigned NOT NULL COMMENT '选品请求单ID,关联 buff_selection_request.id',
  28. `user_id` int(10) unsigned NOT NULL COMMENT '用户ID,与请求单一致,便于按用户隔离查询',
  29. `goods_id` varchar(64) NOT NULL COMMENT 'BUFF饰品ID',
  30. `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  31. PRIMARY KEY (`id`),
  32. UNIQUE KEY `uk_request_goods` (`request_id`,`goods_id`),
  33. KEY `idx_request_id` (`request_id`),
  34. KEY `idx_user_id` (`user_id`),
  35. KEY `idx_user_created` (`user_id`,`created_at`),
  36. KEY `idx_goods_id` (`goods_id`)
  37. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BUFF选品请求单-选中饰品明细表';