2.1 KiB
2.1 KiB
P0-4:用户同步
前置:部门(step-02)、角色菜单(step-03)
规则:user_no= 中文名;管理员保留admin
映射表:../mappings/user_mapping.csv
1. 目标
将 sx bx_user、sx CRM sys_user、dibang users 合并写入门户 sys_user,并生成全局 user_mapping.csv 供 P1/P2 使用。
2. 执行前检查
-- 目标库:确认仅 admin 存在
SELECT id, user_no, nick_name FROM sys_user WHERE del_flag = 0;
-- 源库 sx:统计有效用户
SELECT COUNT(*) FROM bx_user WHERE del_flag = 0;
SELECT COUNT(*) FROM sys_user WHERE del_flag = '0';
-- 源库 dibang:活跃账号
SELECT id, username, role FROM users WHERE is_active = 1;
人工审核 02-user-unification.md §3.1(吴九华手机号等)。
3. 执行步骤(计划)
| 步骤 | 操作 | 状态 |
|---|---|---|
| 1 | 备份目标库 mysqldump shanxia2.0 |
未执行 |
| 2 | 审核并定稿 user_mapping.csv |
初稿已生成 |
| 3 | 开发/运行 backend/scripts/migrate_users.py --dry-run |
待开发 |
| 4 | 写入 sys_user + sys_user_role |
未执行 |
| 5 | 回填 user_mapping.csv 的 new_user_id |
未执行 |
| 6 | 验收:中文名登录 + 角色菜单 | 未执行 |
4. 验收标准
sys_user有效用户数 = 映射表行数(约 25 员工 + admin,地磅账号按需)- 每名员工可用 中文名
user_no登录 admin仍可登录且为超级管理员- 地磅操作员可登录且仅见地磅菜单
user_mapping.csv中每条 bx/crm 源 ID 均有new_user_id- 无重复
user_no(冲突已按手机后四位处理)
5. 执行日志模板
执行后在 logs/ 新建 YYYY-MM-DD-HHMM-users.md:
## 批次:YYYY-MM-DD HH:MM
### 环境
- 目标库:
- 操作人:
### 执行命令
(粘贴命令,密码脱敏)
### 行数对比
| 表 | 执行前 | 执行后 | 预期 |
|----|--------|--------|------|
### 抽样登录
| user_no | 结果 |
### 问题与处理