开发者
资源
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

基于AI的SQL迁移

命令行工具支持通过交互模式逐步引导,满足实时反馈与灵活调整的需求。

操作步骤

  1. 进入DevKit AI解压后目录,执行命令行工具。
    ./devkitai_cli

    返回信息如下。

    ================================================================================
                            DevKit AI 命令行助手
    ================================================================================
    
    您好!我是 DevKit AI 助手,可以帮助您完成以下任务:
    
      1. cpp_migrate - 执行C/C++源码跨架构迁移分析
      2. sql_migrate - 执行SQL数据库信创迁移分析
    
    请直接输入您的需求(自然语言描述),例如:
      - "请帮我把这个MySQL项目的SQL语句转换为GoldenDB数据库的SQL语句,项目路径是xxxx"
      - "请帮我把这个C++项目进行x86到鲲鹏架构的迁移,项目路径是xxxx"
    
    可用命令:
      /help - 显示帮助信息
      /quit 或 /exit - 退出程序
    ================================================================================
    
    [会话ID] 20260519_121201_1fc79c81
    
    >>>
  2. 执行SQL迁移。以将“test_project”项目由Oracle迁移至GoldenDB为例。
    >>> 帮我把/home/demo/xxx/uploads/20260519_065533_2a82/test_project/代码从Oracle迁移到GoldenDB

    返回信息如下。

    DevKit AI:
    成功从 3 个YAML文件加载 3 个工具配置
                  .
                  .
                  .
    开始 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报告了解详细的修改记录。
    还需要其他帮助吗?