2.7 KiB
2.7 KiB
存客宝数据迁移脚本
卡若 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)。