[任务] 删除历史的用户数据表,改为从远程用户服务获取用户数据
[任务分值] 20 分
[背景描述]
目前 Mega 系统内维护了一张本地用户数据表(如 users 表),用于存储用户的基础信息(例如用户名、邮箱、角色等)。
然而,系统架构已逐步演进,用户管理功能已经迁移至服务的user API 。
[需求描述]
- 数据模型调整
- 删除 Mega 数据库中历史 users 表;
- 清理与用户表相关的外键约束、索引以及冗余字段;
- 若有业务依赖(如审计、评论、CR 记录等),仅保留用户 ID(或外部用户标识符),不保留完整用户信息。
- 用户信息获取逻辑
- 在原本依赖本地用户数据的地方,统一通过 远程用户服务 API 获取数据;
- 若用户服务不可用,系统可采用降级策略(例如返回部分缓存数据或显示匿名用户)。
- 接口与依赖修改
修改所有依赖 users 表的接口逻辑,包括但不限于:
- 审计日志(recorded by user)
- 评论系统(comment by user)
- CL 提交记录
- 权限校验逻辑(如 reviewer 校验)
- 将这些接口改为调用远程用户服务。
- 迁移与清理
- 编写数据库 migration 删除用户表;
- 移除 ORM 模型定义与对应的 repository;
- 移除与用户数据相关的旧同步逻辑。
- 更新get_latest_commit 的用户绑定关系
[代码标准]
- 所有 PR 提交必须签署
Signed-off-by 和 使用 GPG 签名,即提交代码时(使用 git commit 命令时)至少使用 -s -S 两个参数,参考 Contributing Guide;
- 所有 PR 提交必须通过
GitHub Actions 自动化测试,提交 PR 后请关注 GitHub Actions 结果;
- 代码注释均需要使用英文;
[PR 提交地址] 提交到 mega 仓库的 main 分支 `` 目录;
[开发指导]
- 认领任务参考 r2cn 开源实习计划 - 任务认领与确认;
[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在 #p-meta 频道和导师交流。
- Quanyi Ma genedna@gmail.com
- Tianxing Ye yetianxing2014@gmail.com
[备注]
- 认领实习任务的同学,必须完成测试任务和注册流程,请参考: r2cn 开源实习计划 - 测试任务 和 r2cn 开源实习计划 - 学生注册与审核
[任务] 删除历史的用户数据表,改为从远程用户服务获取用户数据
[任务分值] 20 分
[背景描述]
目前 Mega 系统内维护了一张本地用户数据表(如 users 表),用于存储用户的基础信息(例如用户名、邮箱、角色等)。
然而,系统架构已逐步演进,用户管理功能已经迁移至服务的user API 。
[需求描述]
修改所有依赖 users 表的接口逻辑,包括但不限于:
[代码标准]
Signed-off-by和 使用GPG签名,即提交代码时(使用git commit命令时)至少使用-s -S两个参数,参考 Contributing Guide;GitHub Actions自动化测试,提交 PR 后请关注GitHub Actions结果;[PR 提交地址] 提交到 mega 仓库的
main分支 `` 目录;[开发指导]
[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在
#p-meta频道和导师交流。[备注]