用途:该文档属于 Twenty(twentyhq/twenty)服务端内部贡献流程,用于实现迁移动作的处理器,使动作能正确转译后作用于数据库。适用时机是在完成第 1-3 步(类型、缓存、构建器)之后、集成之前。
主要能力:本步骤要求新建创建、更新、删除三类 action handler,以及 universal 到 flat 的转换工具。每个处理器分为两个阶段:转译(universal 动作转为 flat 动作)与执行(flat 动作转为数据库操作)。关键方法包括 transpileUniversalActionToFlatAction、executeForMetadata、executeForWorkspaceSchema。创建处理器使用 insertFlatEntitiesInRepository;更新处理器使用 resolveUniversalUpdateRelationIdentifiersToIds;删除处理器使用 transpileUniversalDeleteActionToFlatDeleteAction 并执行硬删除。转换工具 fromUniversalFlatMyEntityToFlatMyEntity 依赖 resolveUniversalRelationIdentifiersToIds,把 universal 外键还原为普通 ID。
使用方式:在指定目录下创建各 handler 服务文件与 utils 转换文件,继承对应基类(WorkspaceCreateActionHandlerService、WorkspaceUpdateActionHandlerService、WorkspaceDeleteActionHandlerService),注入 metadata 仓库,按模板实现两个阶段方法。
限制:所有代码属于 Twenty 内部实现,非公开 API;文档未提供收费、价格、平台或效果信息。完成后进入第 5/6 步集成,完整流程见 @creating-syncable-entity 规则。