📥 数据迁移 (Data Migration)

将 Salesforce 对象数据批量迁移至目标数据库,UPSERT 增量同步防止重复数据,自动类型转换和实时进度跟踪。

Data 迁移列表页

功能概述

  • 列出所有已创建表结构的对象及其数据迁移状态
  • SF Count 列:从备份 MongoDB 集合读取源端记录数(无需重复查询 SF)
  • Migrated 列:已成功写入目标库的记录数
  • 一键批量迁移所有对象数据
  • 单个对象独立数据迁移(行操作:Migrate Data)
  • UPSERT 机制:INSERT ON DUPLICATE KEY UPDATE,基于 Id 主键
  • 自动跳过 SF Count=0 的对象(显示 Skipped)
Data 迁移进度条

数据转换规则

Salesforce 类型目标数据库类型转换示例
boolean (Checkbox)TINYINT(1) / BIT / NUMBER(1)True → 1, False → 0
datetimeDATETIME / TIMESTAMP2026-02-06T09:19:04.000+0000 → 2026-02-06 09:19:04
dateDATE2026-02-06T00:00:00.000+0000 → 2026-02-06
double / intDECIMAL / INT / BIGINT保持原值(不额外处理)
currency / percentDECIMAL(18,2)保持原值
string / textarea / picklistTEXT保持原字符串(按字段类型判断)
reference (Lookup)TEXT18 位 Salesforce Id 字符串

增量同步机制

使用 INSERT INTO ... ON DUPLICATE KEY UPDATE 语句实现 UPSERT:

  • 新记录:INSERT 新行到目标表
  • 已存在且值相同:不触发 UPDATE(MySQL affected rows=0)
  • 已存在但值变化:UPDATE 所有列到最新值
  • 主键为 Salesforce 18 位 Id,保证全局唯一性

前置条件

  1. ✅ 已通过 Backup Meta 备份元数据
  2. ✅ 已通过 Backup Data 备份数据记录到 MongoDB
  3. ✅ 已在 Meta Migration 创建目标表结构(Table Ready = Yes)
  4. ✅ 已在 Destinations 配置并测试目标数据库连接
  5. ✅ 持有有效的 Salesforce OAuth 登录会话

数据表列

列名说明
Object NameSalesforce 对象 API 名称
Fields字段数量
Dest Table目标数据库表名(sf_ 前缀)
Table Ready表是否已创建(Yes/No)
Status数据迁移状态(StatusCell SVG 图标)
SF CountSalesforce 源端记录数(从备份读取)
Migrated已迁入目标库的记录数
🎬
Demo 视频
../../videos/products/sf_migration/migration-data-demo.mp4