技术速查官方文档3 分钟阅读技术速查

FastGPT工作流V1升级至V2的迁移操作指南

该迁移步骤仅适用于部署过低于4.8版本FastGPT的用户。V4.15.0-beta7后工作流保存结构统一使用V2,需先完成V1到V2的迁移,再执行后续V2脏数据清洗。 1.

结论

该迁移步骤仅适用于部署过低于4.8版本FastGPT的用户。V4.15.0-beta7后工作流保存结构统一使用V2,需先完成V1到V2的迁移,再执行后续V2脏数据清洗。

具体怎么做

  1. 迁移脚本位置为projects/app/src/pages/api/admin/dataClean/v1WorkflowToV2.ts,该接口仅用于本次升级迁移,不对外作为OpenAPI接口。
  2. 先执行默认的dry-run扫描校验模式,仅扫描、转换并校验数据,不写库:
curl -X POST 'https://你的域名/api/admin/dataClean/v1WorkflowToV2' \
-H 'Content-Type: application/json' \
-H 'rootkey: 你的ROOT_KEY' \
-d '{"dryRun":true}'
  1. 确认接口返回的统计结果无误后,修改dryRunfalse执行数据写入:
curl -X POST 'https://你的域名/api/admin/dataClean/v1WorkflowToV2' \
-H 'Content-Type: application/json' \
-H 'rootkey: 你的ROOT_KEY' \
-d '{"dryRun":false}'

接口参数说明:

参数类型默认值说明
dryRunbooleantrue是否仅扫描验证不写库

注意事项

  • 迁移时会按apps.version != 'v2'typefolderhttpPlugintoolFolder扫描应用,先处理app_versions再处理apps,避免中断后遗漏历史版本。
  • 迁移会将V1节点字段升级为V2格式,例如moduleId转为nodeIdflowType转为flowNodeType
  • 未知节点类型会兜底为emptyNode,非法valueType会转为any;缺失node.name时用flowType兜底,缺失input.label时用input.key兜底。
  • 写库前会使用PublishAppBodySchema校验数据,校验失败的文档不会写入,并会记录到接口返回结果中。

来源:FastGPT 官方文档