| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- -- BUFF 选品请求单 & 选品请求单-选中饰品明细
- -- 用户发起一次选品即生成一条请求单,本次选中的饰品写入明细表;所有数据按 user_id 隔离。
- SET NAMES utf8mb4;
- -- ----------------------------
- -- 选品请求单表:每次用户发起选品生成一条
- -- ----------------------------
- DROP TABLE IF EXISTS `buff_selection_request`;
- CREATE TABLE `buff_selection_request` (
- `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
- `user_id` int(10) unsigned NOT NULL COMMENT '用户ID,关联 users.id,按用户隔离',
- `config_id` bigint(20) unsigned DEFAULT NULL COMMENT '本次选品使用的配置ID,关联 buff_selection_config.id',
- `status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT '状态:pending-待执行,running-执行中,completed-已完成,failed-失败',
- `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- PRIMARY KEY (`id`),
- KEY `idx_user_id` (`user_id`),
- KEY `idx_user_created` (`user_id`,`created_at`),
- KEY `idx_status` (`status`),
- KEY `idx_config_id` (`config_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BUFF选品请求单表';
- -- ----------------------------
- -- 选品请求单-选中饰品明细表:每条记录为某次请求选中的一件饰品
- -- ----------------------------
- DROP TABLE IF EXISTS `buff_selection_request_item`;
- CREATE TABLE `buff_selection_request_item` (
- `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
- `request_id` bigint(20) unsigned NOT NULL COMMENT '选品请求单ID,关联 buff_selection_request.id',
- `user_id` int(10) unsigned NOT NULL COMMENT '用户ID,与请求单一致,便于按用户隔离查询',
- `goods_id` varchar(64) NOT NULL COMMENT 'BUFF饰品ID',
- `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_request_goods` (`request_id`,`goods_id`),
- KEY `idx_request_id` (`request_id`),
- KEY `idx_user_id` (`user_id`),
- KEY `idx_user_created` (`user_id`,`created_at`),
- KEY `idx_goods_id` (`goods_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='BUFF选品请求单-选中饰品明细表';
|