2.3 KiB
2.3 KiB
美术流程策划负责人一次性维护
scripts/backfill-art-workflow-planner-owner.mjs 仅补齐快照缺少的 plannerOwner 属性,不覆盖已有值(包括明确空值),不改其他快照字段、薪资档案、调研、数据库结构或上游报表库。上游只执行 SELECT,取最新“策划案负责人”,保存稳定联系人ID;缺少上游流程时中止,人员不唯一时仅记录审计,不猜测归属。
安全执行顺序
- 核对精确应用提交、目标数据库身份及生产当前缺失数。完成数据库备份与独立 PostgreSQL 恢复验证,保留该提交对应的备份回执。
- 蓝绿切换到包含本工具的新版本,确认旧应用已停止。生产禁用9月测试回退。缺失字段未补齐期间,相关来源月份的薪资接口返回
WORKFLOW_POINTS_SYNCING/ 503。 - 建立权限0700的私有目录。审计:
node scripts/backfill-art-workflow-planner-owner.mjs --audit --output=/private/run/owners.json。核对审计计数、上游归属和未匹配清单。该文件含人员资料及完整变更前值,不得入库、进入镜像或公开日志。 - 使用相同环境及审计SHA256显式执行:
node scripts/backfill-art-workflow-planner-owner.mjs --apply --manifest=/private/run/owners.json。工具重新读取上游,持有与正常同步相同的租约,用事务和快照比较更新保护并发;有冲突重新审计,不强行覆盖。 - 再次审计应无缺失;重跑apply应全跳过。核对薪资档案及调研摘要未变、积分与上游逐流程相符、生产不回退9月测试数据。保留清单、执行回执和备份。
生产环境需沿用备份工具的数据库预期指纹和回执校验变量,并显式设置 EXPECTED_COMMIT_SHA、EXPECTED_OWNER_MANIFEST_SHA256、ALLOW_ART_OWNER_BACKFILL=PATCH_MISSING_PLANNER_OWNER。不在命令或代码中写凭据。非生产仅允许指定端口55439、salary_isolated_*本地数据库。
恢复
先停止同步并回退应用;需要撤销回填时,在相同受保护环境执行 --restore --manifest=/private/run/owners.json。仅当前快照内容仍精确匹配回填后哈希时恢复原内容(含SQL NULL);后续同步或其他变更会阻断恢复,必须人工复核。重复恢复跳过已还原记录。不以全库恢复代替本工具的精确字段恢复。