Files
cunkebao_v3/Server/script/migration
Manus AI 5517457929 sync: 以本地为准同步全量变更至 GitHub
含四端需求文档、前端/后端/超管/触客宝迭代及部署脚本更新;未拉取远程。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-30 04:24:56 +08:00
..

存客宝数据迁移脚本

卡若 2026-05-27 · 数据迁移 D1/D2/E1

⚠️ 仅本地执行。所有脚本默认 DRY-RUN不执行apply=1 才真正迁移。 触客宝 / AI 数字员工只读,禁止改对方代码。

文件

文件 作用
snapshot.php 采集迁移前/后快照diff 生成差异报表
migrate_company_attribution.php 将指定手机号 / 旧 companyId 下的数据迁移到目标 companyId
runtime/migration/{phone}/ 每个手机号的快照与报告目录git 不提交)

标准流程

1. 迁移前快照

docker compose exec -T server php /var/www/html/script/migration/snapshot.php \
    phone=13779954946 stage=before

输出:Server/runtime/migration/13779954946/snapshot-before-YYYYMMDDHHMMSS.json

2. 拟运行DRY-RUN

docker compose exec -T server php /var/www/html/script/migration/migrate_company_attribution.php \
    sourcePhone=13779954946 fromCompany=15880802661 toCompany=914

只打印各表待迁移行数,不会修改数据。

3. 卡若审核后真正执行

docker compose exec -T server php /var/www/html/script/migration/migrate_company_attribution.php \
    sourcePhone=13779954946 fromCompany=15880802661 toCompany=914 apply=1

4. 迁移后快照

docker compose exec -T server php /var/www/html/script/migration/snapshot.php \
    phone=13779954946 stage=after

5. Diff 生成差异报表

docker compose exec -T server php /var/www/html/script/migration/snapshot.php \
    diff phone=13779954946

输出:runtime/migration/13779954946/diff-YYYYMMDDHHMMSS.json

迁移覆盖表

字段 说明
customer_acquisition_task companyId 海报 / 订单 / 付款码 / 微信群 / API 获客等场景计划
user_tokens companyId 算力余额
plan_distribution_channel companyId 渠道获客的分销渠道
plan_distribution_record companyId 渠道分销记录
ckb_lead_records companyId 客资入池队列
content_library companyId 内容库
workbench_* companyId 工作台 8 类自动化任务

卡若验收 Checklist

迁移完成后必须验证:

  • 我的页统计与快照 after 一致
  • 海报获客列表中可见历史计划,状态/数量与迁移前一致
  • 算力余额无丢失
  • 触客宝端只读校验子账号归属正确(不改对方代码
  • AI 数字员工只读校验设备/账号能力(不改对方代码

失败回滚

DRY-RUN 失败:不会动数据。 APPLY 失败:事务自动 rollback。 APPLY 成功但需要逆向:手动写 reverse 脚本(参数 fromCompany ↔ toCompany 互换 + apply=1