Files
shanxia2.0/docs/data-migration/phase-0-foundation/step-04-users.md
T
2026-07-13 20:26:43 +08:00

2.1 KiB
Raw Blame History

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 | 结果 |

### 问题与处理