mcpField
H
handling-sf-data

handling-sf-data

github.com/forcedotcom数据与数据库1.1k2.9k 次安装1 天前更新
代码仓库

关于 handling-sf-data

面向 Salesforce 数据操作的技能,涵盖 CRUD、批量传输、测试数据生成和清理。它引导用户区分本地脚本生成与远程执行,并提供验证和清理流程。

主要功能

  1. 01CRUD 与批量数据工作流
  2. 02测试数据工厂与模板
  3. 03基于 describe 的执行前验证
  4. 04清理与回滚指导
  5. 05SOQL 验证脚本

适用场景

  1. 01创建或更新 Salesforce 记录
  2. 02导入或导出大型数据集
  3. 03生成自动化测试数据
  4. 04规划测试记录的清理

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/forcedotcom/sf-skills --skill handling-sf-data

安装后在 Claude Code 中输入/handling-sf-data确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/bulk/
bulk-insert-10000.apex
bulk-insert-200.apex
bulk-insert-500.apex
bulk-upsert-external-id.apex
assets/cleanup/
delete-by-created-date.apex
delete-by-name.apex
delete-test-data.apex
rollback-transaction.apex
assets/csv/
account-import.csv
contact-import.csv
custom-object-import.csv
opportunity-import.csv
assets/factories/
account-factory.apex
case-factory.apex
contact-factory.apex
custom-object-factory.apex
event-factory.apex
hierarchy-factory.apex
lead-factory.apex
opportunity-factory.apex
task-factory.apex
user-factory.apex
assets/json/
account-contact-tree.json
account-opportunity-tree.json
full-hierarchy-tree.json
assets/soql/
aggregate.soql
child-to-parent.soql
parent-to-child.soql
polymorphic.soql
subquery.soql

详细介绍

Salesforce 数据操作专家(handling-sf-data)

当用户需要处理 Salesforce 数据 时使用此技能:记录 CRUD、批量导入/导出、测试数据生成、清理脚本,或用于验证 Apex、Flow 或集成行为的数据工厂模式。

此技能适用的任务

在工作涉及以下内容时使用 handling-sf-data:

  • sf data CLI 命令
  • 记录创建、更新、删除、Upsert、导出或树形导入/导出
  • 生成逼真的测试数据
  • 批量数据操作和清理
  • 用于数据填充 / 回滚的 Apex 匿名脚本

在以下情况下委派给其他技能:


重要的模式选择

确认用户需要哪种模式:

模式适用情况
脚本生成用户需要可复用的 .apex、CSV 或 JSON 资产,暂时不操作组织
远程执行用户希望现在就在真实组织中创建 / 更改记录

如果用户可能只需要脚本,不要假设需要远程执行。


首先需要收集的上下文

询问或推断:

  • 目标对象
  • 需要远程执行时的组织别名
  • 操作类型:查询、创建、更新、删除、Upsert、导入、导出、清理
  • 预期数据量
  • 数据属于测试数据、迁移数据还是一次性故障排查数据
  • 必须预先存在的任何父子关系

核心操作规则

  • 除非用户明确要求仅生成本地脚本,否则 handling-sf-data 操作的是远程组织数据。
  • 创建数据前,对象和字段必须已存在。
  • 对于自动化测试,在批量行为很重要时,优先使用 251 条以上记录。
  • 创建大量或杂乱数据集前,先规划清理方式——未跟踪的记录会在每次运行后累积,污染组织状态。
  • 测试记录应使用合成的非识别性数据——真实 PII 会带来合规风险,批量导入后也无法安全移除。
  • 对于简单的 CRUD,优先采用 CLI 优先的方式;只有操作确实需要服务端编排时才使用匿名 Apex。

如果缺少元数据,请停止并转交给:


推荐工作流

1. 验证前置条件

确认对象 / 字段是否可用、组织是否已通过身份验证,以及所需父记录是否存在。

2. 架构不确定时,先运行 describe 进行预检

创建或更新记录前,使用对象 describe 数据验证:

  • 必填字段
  • 可创建与不可创建字段
  • 选项列表值
  • 关系字段和父记录要求

有关 sf sobject describe 命令以及用于检查字段、选项列表值和可创建约束的 jq 筛选模式,请参阅 references/sf-cli-data-commands.md。

3. 选择最简单且正确的机制
需求默认方式
少量一次性 CRUDsf data 单记录命令
大批量导入/导出通过 sf data ... bulk 使用 Bulk API 2.0
父子记录数据填充集树形导入/导出
可复用测试数据集工厂 / Apex 匿名脚本
可撤销的实验清理脚本或基于 savepoint 的方式
4. 执行操作或生成资产

合适时使用 assets/ 下的内置模板:

  • assets/factories/
  • assets/bulk/
  • assets/cleanup/
  • assets/soql/
  • assets/csv/
  • assets/json/
5. 验证结果

创建或更新后检查记录数量、关系和记录 ID。

6. 采用有界重试策略

如果创建失败:

  1. 按主要 CLI 格式尝试一次
  2. 使用修正后的参数重试一次
  3. 重新运行 describe / 验证假设
  4. 改用其他机制,或提供手动解决方法

不要无限重复相同的失败命令。

7. 提供清理指南

只要创建了数据,就提供准确的清理命令或回滚资源。


高优先级规则

批量操作安全
  • 大批量操作时使用批量操作
  • 适用时,使用 251 条或更多记录测试对自动化敏感的行为
  • 批量场景中避免逐条处理记录
数据完整性
  • 包含必填字段
  • 创建前验证选项列表值
  • 验证父级 ID 和关系完整性
  • 考虑验证规则和重复约束
  • 从输入负载中排除不可创建字段
清理规范

优先采用以下任一方式:

  • 按 ID 删除
  • 按模式删除
  • 按创建日期范围删除
  • 在基于脚本的测试运行中使用回滚 / 保存点模式

常见失败模式

错误可能原因默认修复方向
INVALID_FIELD字段 API 名称错误或 FLS 问题验证架构和访问权限
REQUIRED_FIELD_MISSING缺少必填字段根据 describe 数据填写必填值
INVALID_CROSS_REFERENCE_KEY父级 ID 错误先创建 / 验证父级记录
FIELD_CUSTOM_VALIDATION_EXCEPTION验证规则阻止了记录创建使用有效测试数据或调整设置
选项列表值无效使用了猜测的值,而非通过 describe 确认的值先检查选项列表值
字段不可写错误字段不可创建 / 更新从负载中移除该字段
批量限制 / 超时使用了不适合该数据量的工具改用批量 / 分阶段导入

输出格式

完成时,按以下顺序报告:

  1. 执行的操作
  2. 对象和数量
  3. 目标 org 或本地资源路径
  4. 记录 ID / 输出文件
  5. 验证结果
  6. 清理说明

建议格式:

Data operation: <create / update / delete / export / seed>
Objects: <object + counts>
Target: <org alias or local path>
Artifacts: <record ids / csv / apex / json files>
Verification: <passed / partial / failed>
Cleanup: <exact delete or rollback guidance>

跨技能集成

需求委托给原因
创建缺失的自定义对象generating-custom-object数据操作前必须先建立架构
创建缺失的自定义字段generating-custom-field创建数据前必须先建立字段级架构
运行对批量操作敏感的 Apex 验证running-apex-tests测试执行和覆盖率
先部署缺失的架构deploying-metadata确保元数据就绪
实现使用该数据的生产环境 Apex 逻辑generating-apex编写 Apex 类 / 触发器
实现使用该数据的 Flow 逻辑generating-flow编写 Flow 和自动化

参考索引

从这里开始
查询 / 批量操作 / 清理
示例 / 限制
验证脚本
资源模板
  • assets/factories/ — Apex 测试数据工厂脚本(account、contact、opportunity、lead、user 等)
  • assets/bulk/ — Bulk API 2.0 Apex 模板(插入 200、500、10000 条记录;按外部 ID 执行 upsert)
  • assets/cleanup/ — 清理和回滚脚本(按名称、日期、模式删除;事务回滚)
  • assets/soql/ — SOQL 查询模板(聚合、子查询、父到子、子到父、多态)
  • assets/csv/ — Account、Contact、Opportunity 和自定义对象的 CSV 导入模板
  • assets/json/ — JSON 树导入模板(account-contact、account-opportunity、完整层级)

评分指南

分数含义
117+安全可靠的生产级数据工作流
104–116操作良好,仍可进行小幅改进
91–103可以接受,但建议复查
78–90存在不完整 / 有风险的模式
< 78修正前禁止执行

评论

支持 Markdown