Files
RiskAgent/migrations/1730000026000_audit_actor.cjs
T
freedakgmail 5afe021b56 大改动:全部人员用ID关联(JWT带uid + audit actor_id + assessorId改用户ID + 看板按ID匹配 + 历史回填)
- JWT 载荷增加 uid;登录返回 id;前端持久化 uid 并在变更请求中携带 userId
- 操作人服务端解析(优先JWT.uid,回退body.userId),审计写入 actor_id + 当时显示名
- audit_logs 增加 actor_id 列;持久化与加载带 actorId
- assessments.assessorId 改存用户ID,列表/详情按ID解析显示名(assessorName)
- 看板待办「分给我的」改为按 userId 匹配;发起人显示真实姓名
- 审批线指派按 salesId(用户ID) 计算
- scripts/backfill-actor-ids.sql 回填历史(旧账号名→当前用户ID),本地+生产已执行
2026-06-13 19:18:17 +08:00

15 lines
474 B
JavaScript

/* eslint-disable */
/**
* 审计日志增加 actor_id(操作人用户 ID 关联)。username 保留为当时显示名快照。
*/
exports.up = (pgm) => {
pgm.sql(`ALTER TABLE audit_logs ADD COLUMN IF NOT EXISTS actor_id TEXT;`);
pgm.sql(`CREATE INDEX IF NOT EXISTS idx_audit_actor ON audit_logs(actor_id);`);
};
exports.down = (pgm) => {
pgm.sql(`DROP INDEX IF EXISTS idx_audit_actor;`);
pgm.sql(`ALTER TABLE audit_logs DROP COLUMN IF EXISTS actor_id;`);
};