You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

2.5 KiB

用户昵称字段优化计划

任务名称:新增 nickname 字段,保留 username_changed 字段
创建时间:2025-01-14
状态:待执行


1. 任务背景

问题分析

  • 当前设计只有 username 字段(唯一、可修改一次)
  • username_changed 字段用于标记是否已修改过用户名
  • 缺少灵活的显示名称字段(nickname)

决策结果

  • 保留 username_changed 字段(性能最优、逻辑清晰)
  • 新增 nickname 字段(可重复、可随时修改)

2. 执行步骤

Step 1: 更新数据库设计文档

文件docs/需求/backend/04-services/user/user-service.md

变更内容

  1. 在 users 表 SQL 定义中新增 nickname TEXT 字段
  2. 更新字段说明,明确 username vs nickname 的区别
  3. 保留 username_changed 字段及其说明
  4. 更新数据模型(User Model)
  5. 更新 Schema 定义(UserUpdate, UserResponse)
  6. 更新 API 接口文档(支持 nickname 修改)

Step 2: 生成方案文档

文件docs/方案/user-nickname-field-design.md

内容

  • 设计决策说明
  • username vs nickname 对比
  • 数据库变更 SQL
  • 代码示例
  • 迁移脚本

3. 涉及文件

文件路径 操作类型 说明
docs/需求/backend/04-services/user/user-service.md 修改 更新数据库设计和 API 文档
docs/方案/user-nickname-field-design.md 创建 生成详细方案文档

4. 关键变更点

数据库变更

-- 在 users 表中新增 nickname 字段
ALTER TABLE users
ADD COLUMN nickname TEXT;

-- 可选:为现有用户初始化 nickname
UPDATE users
SET nickname = username
WHERE nickname IS NULL;

字段对比

字段 用途 唯一性 修改限制
username 账号标识 必须唯一 只能改一次
nickname 显示名称 可重复 随时修改
username_changed 标记 username 是否已修改 - 系统维护

5. 验证清单

  • 数据库设计文档已更新
  • 字段说明清晰准确
  • API 接口文档已更新
  • 方案文档已生成
  • 用户确认无误

等待用户批准执行...