基于AI的SQL迁移
操作步骤
- 上传文件。以压缩包文件名为test_project.tar.gz,指定task_id为例。
curl.exe -X POST "http://xx.xx.xx.xx:xxxx/upload?task_id=20260520_064138_e5f0" -H "x-file-name: test_project.tar.gz" -T "D:\demo\test_project.tar.gz"
返回信息如下。
{ "code": 200, "message": "文件上传成功!", "task_id": "20260520_064138_e5f0", "project_path": "test_project" }
- 若指定task_id,则以指定的task_id为准。若指定的task_id不存在,则会报错。
- 若未指定task_id,则会自动分配一个task_id。
- 询问可以帮忙做什么,使用上一步返回的task_id,确保处于同一会话。若不指定task_id,则会自动分配一个task_id。
- Windows命令(CMD):
curl.exe -X POST "http://xx.xx.xx.xx:xxxx/run" -H "Content-Type: application/json" -d "{\"instruction\":\"你可以帮忙做什么\",\"task_id\":\"20260520_064138_e5f0\"}" - Windows命令(PowerShell):
curl.exe -X POST "http://xx.xx.xx.xx:xxxx/run" -H "Content-Type: application/json" -d '{\"instruction\":\"你可以帮忙做什么\",\"task_id\":\"20260520_064138_e5f0\"}' - Linux/MacOS命令:
curl -X POST "http://xx.xx.xx.xx:xxxx/run" -H "Content-Type: application/json" -d '{"instruction":"你可以帮忙做什么","task_id": "20260520_064138_e5f0"}'
返回信息如下。
我可以帮您完成以下任务: 1. C++ 源码迁移(x86_64 → 鲲鹏架构) - 自动分析 C++ 项目在跨架构迁移过程中的兼容性问题 - 源码扫描与架构差异识别(向量指令、内联汇编、字节序等) - 依赖库兼容性核查 - 构建脚本(CMake/Makefile)调整建议 - 自动生成迁移补丁和详细报告 - 支持的项目类型:包含 CMakeLists.txt 或 Makefile 的 C++ 项目 2. SQL 数据库迁移 - 自动化 SQL 语法转换 - 支持的源数据库:MySQL、Oracle、DB2 - 支持的目标数据库:DM(达梦)、Vastbase、KINGBASE(人大金仓)、MySQL、GoldenDB - 自动生成迁移后的 SQL 文件 如果您有具体的迁移需求,请告诉我: - 对于 C++ 迁移:提供项目路径(需包含构建文件) - 对于 SQL 迁移:提供源数据库类型、目标数据库类型和项目路径 您想执行哪个任务呢?
- Windows命令(CMD):
- 执行SQL迁移。以从Oracle到GoldenDB为例。
- Windows命令(CMD):
curl.exe -X POST "http://xx.xx.xx.xx:xxxx/run" -H "Content-Type: application/json" -d "{\"instruction\":\"对test_project项目进行SQL迁移,从Oracle到GoldenDB\",\"task_id\":\"20260520_064138_e5f0\"}" - Windows命令(PowerShell):
curl.exe -X POST "http://xx.xx.xx.xx:xxxx/run" -H "Content-Type: application/json" -d '{\"instruction\":\"对test_project项目进行SQL迁移,从Oracle到GoldenDB\",\"task_id\":\"20260520_064138_e5f0\"}' - Linux/MacOS命令:
curl -X POST "http://xx.xx.xx.xx:xxxx/run" -H "Content-Type: application/json" -d '{"instruction":"对test_project项目进行SQL迁移,从Oracle到GoldenDB","task_id": "20260520_064138_e5f0"}'
返回信息如下。
正在执行: Bash, 参数: {'command': '/home/DevKit-AI-x.x.x-Linux-Kunpeng/porting_workflow_cli --mode sql --db-source-type Oracle --db-target-type GoldenDB --project-dir /home/DevKit-AI-x.x.x-Linux-Kunpeng/uploads/20260520_064138_e5f0/test_project', 'working_directory': '/home/DevKit-AI-x.x.x-Linux-Kunpeng'} . . . 开始 SQL 迁移: Oracle -> GoldenDB AI改写并发数: 2, 超时时间: 100秒 ------------------------------------------------------------ SQLTransform ------------------------------------------------------------ 开始DevKit SQL迁移工具调用... Progress: [2%] Progress: [54%] Progress: [100%] 完成DevKit SQL迁移工具调用。 ------------------------------------------------------------ SQLAIRewrite ------------------------------------------------------------ 开始AI辅助迁移,并生成修改方案... AI改写配置 - 最大并发: 2, 超时时间: 100秒 开始并发AI改写,文件数: 2, 最大并发: 2, 超时: 100秒 改写进度【1/2文件】,AI辅助迁移文件test_project_f2d183492d65471eb7765b3959fef0ea/origin/test_nextval.xml 改写进度【2/2文件】,AI辅助迁移文件test_project_f2d183492d65471eb7765b3959fef0ea/origin/test_casewhen.xml 修改记录已保存到: test_project_f2d183492d65471eb7765b3959fef0ea/tmp/convert_record.json 完成AI辅助迁移,生成patch。 ------------------------------------------------------------ SQLAIRewriteStatistics ------------------------------------------------------------ 开始 AI 改写结果统计... SQL AI 改写统计结果: 不兼容-快速修复 (Incompatible Quickfix Rewrite ): 6 个 不兼容-基于知识改写 (Incompatible Rewrite Based Knowledge): 2 个 不兼容-AI判断需改写 (Incompatible AI Rewrite Required ): 0 个 不兼容-AI判断不需改写 (Incompatible AI Rewrite Not Required): 0 个 待确认-AI判断需改写 (Unconfirmed AI Rewrite Required ): 0 个 待确认-AI判断不需改写 (Unconfirmed AI Rewrite Not Required ): 0 个 AI改写-模型超时 (AI Rewrite Timeout ): 0 个 已兼容 (Compatible ): 2 个 完成 AI 改写结果统计。 ------------------------------------------------------------ SQLPatchApply ------------------------------------------------------------ 开始应用补丁... 已生成 result.patch 文件: test_project_f2d183492d65471eb7765b3959fef0ea/project_info/result.patch 已生成 Excel 文件: test_project_f2d183492d65471eb7765b3959fef0ea/project_info/convert_record.xlsx 完成补丁应用。原项目路径test_project_f2d183492d65471eb7765b3959fef0ea/origin,修改后项目路径test_project_f2d183492d65471eb7765b3959fef0ea/result SQL 迁移完成! 结果保存在: test_project_f2d183492d65471eb7765b3959fef0ea SQL迁移任务已成功完成! 迁移概况: - 源数据库:Oracle - 目标数据库:GoldenDB - 项目路径:/home/demo/xxx/uploads/20260519_065533_2a82/test_project 迁移统计结果: - 处理文件数:2个SQL文件 - 不兼容-快速修复:6个 - 不兼容-基于知识改写:2个 - 已兼容:2个 输出文件位置: - 工作空间:test_project_f2d183492d65471eb7765b3959fef0ea - 原始文件:test_project_f2d183492d65471eb7765b3959fef0ea/origin - 迁移后文件:test_project_f2d183492d65471eb7765b3959fef0ea/result - 补丁文件:test_project_f2d183492d65471eb7765b3959fef0ea/project_info/result.patch - Excel报告:test_project_f2d183492d65471eb7765b3959fef0ea/project_info/convert_record.xlsx 迁移已成功完成,共发现8个需要改写的不兼容项,均已处理。您可以查看Excel报告了解详细的修改记录。 还需要其他帮助吗? - Windows命令(CMD):
- 下载迁移结果。
curl.exe -o "result.zip" "http://xx.xx.xx.xx:xxxx/download?task_id=20260520_064138_e5f0&download_result_path=20260520_064138_e5f0/test_project_f2d183492d65471eb7765b3959fef0ea/"
返回信息如下所示。
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 17385 100 17385 0 0 79516 0 --:--:-- --:--:-- --:--:-- 79747
父主题: 功能使用(HTTP/HTTPS接口)