Skip to content

[r2cn] 删除历史的用户数据表,更新get_latest_commit的用户绑定关系 #1562

Description

@benjamin-747

[任务] 删除历史的用户数据表,改为从远程用户服务获取用户数据

[任务分值] 20 分

[背景描述]

目前 Mega 系统内维护了一张本地用户数据表(如 users 表),用于存储用户的基础信息(例如用户名、邮箱、角色等)。
然而,系统架构已逐步演进,用户管理功能已经迁移至服务的user API 。

[需求描述]

  1. 数据模型调整
  • 删除 Mega 数据库中历史 users 表;
  • 清理与用户表相关的外键约束、索引以及冗余字段;
  • 若有业务依赖(如审计、评论、CR 记录等),仅保留用户 ID(或外部用户标识符),不保留完整用户信息。
  1. 用户信息获取逻辑
  • 在原本依赖本地用户数据的地方,统一通过 远程用户服务 API 获取数据;
  • 若用户服务不可用,系统可采用降级策略(例如返回部分缓存数据或显示匿名用户)。
  1. 接口与依赖修改
    修改所有依赖 users 表的接口逻辑,包括但不限于:
  • 审计日志(recorded by user)
  • 评论系统(comment by user)
  • CL 提交记录
  • 权限校验逻辑(如 reviewer 校验)
  • 将这些接口改为调用远程用户服务。
  1. 迁移与清理
  • 编写数据库 migration 删除用户表;
  • 移除 ORM 模型定义与对应的 repository;
  • 移除与用户数据相关的旧同步逻辑。
  1. 更新get_latest_commit 的用户绑定关系

[代码标准]

  1. 所有 PR 提交必须签署 Signed-off-by 和 使用 GPG 签名,即提交代码时(使用 git commit 命令时)至少使用 -s -S 两个参数,参考 Contributing Guide
  2. 所有 PR 提交必须通过 GitHub Actions 自动化测试,提交 PR 后请关注 GitHub Actions 结果;
  3. 代码注释均需要使用英文;

[PR 提交地址] 提交到 mega 仓库的 main 分支 `` 目录;

[开发指导]

  1. 认领任务参考 r2cn 开源实习计划 - 任务认领与确认;

[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在 #p-meta 频道和导师交流。

  1. Quanyi Ma genedna@gmail.com
  2. Tianxing Ye yetianxing2014@gmail.com

[备注]

  1. 认领实习任务的同学,必须完成测试任务和注册流程,请参考: r2cn 开源实习计划 - 测试任务r2cn 开源实习计划 - 学生注册与审核

Metadata

Metadata

Assignees

Type

Fields

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions