# 一键测试权重 - 数据库 SQL 操作说明

## 1. 新建表 dice_play_record_test

测试用游玩记录表，结构与 `dice_play_record` 完全一致，不关联真实玩家（`player_id` 填 0），用于写入模拟数据并可一键清空。

**执行脚本：** `dice_play_record_test.sql`

```sql
-- 若表已存在可跳过；执行前请确认 dice_play_record 表已存在
CREATE TABLE IF NOT EXISTS `dice_play_record_test` LIKE `dice_play_record`;
```

## 2. 扩展表 dice_reward_config_record

为一键测试权重增加进度与结果字段：总次数、已完成次数、状态、备注、顺/逆时针次数、档位出现次数（档位概率）。

**执行脚本：** `dice_reward_config_record_add_test_progress.sql`

若某列已存在会报错，可跳过该条继续执行下一条。

- `total_play_count`：总模拟次数（s_count + n_count）
- `over_play_count`：已完成次数，每完成 10 条写入 `dice_play_record_test` 后更新
- `status`：-1 失败，0 进行中，1 成功
- `remark`：失败时记录原因
- `s_count`：顺时针模拟次数
- `n_count`：逆时针模拟次数
- `tier_counts`：档位出现次数 JSON（T1=>count），用于档位概率

原有字段 `result_counts` 已存在，用于点数出现次数（点数概率）。

## 3. 导入操作

`dice_reward_config_record` 的**导入**功能保持不变：可将测试记录的权重快照导入到 `DiceReward` 与 `DiceLotteryPoolConfig`，并刷新缓存。无需额外 SQL。

## 执行顺序建议

1. 先执行 `dice_play_record_test.sql` 创建测试表。
2. 再执行 `dice_reward_config_record_add_test_progress.sql` 为测试记录表增加字段（逐条执行，已存在的列可忽略）。
