在 Gemini 的协助下转换 Oracle 代码和架构

Database Migration Service 将 Gemini for Google Cloud 集成到 转换工作区中,可帮助您在以下方面加快并改进转换流程:

  • 使用 Gemini 赋能的自动转换功能增强确定性转换结果,利用 AI 的强大功能显著减少 PostgreSQL 代码中需要手动调整的数量。

  • 通过 转换助理提供代码可解释性功能:一组专用提示,可帮助您更好地了解转换逻辑、针对转换问题提出修复建议或优化转换后的代码。
  • 使用 Gemini 质量评估验证转换后的代码。Gemini 可以帮助分析转换后的代码,确保其正确性以及与源代码的功能等效性。
  • 借助 Gemini 代码转换建议,加快应用转换问题修复:Gemini 模型可以在您修复转换问题时学习,并针对工作区中的其他故障对象建议更改。

    您还可以将此功能与代码可解释性相结合,获得由 Gemini 提供支持的完整端到端代码对象转换体验。如需了解详情,请参阅 修复存在转换问题的代码对象的示例工作流。

您的 SQL 代码和架构存储在您创建转换工作区的区域中。如果您将辅助代码和架构转换与 Gemini 模型搭配使用,则您的代码和架构可能会在其他区域进行处理。

了解 Gemini for Google Cloud 如何以及何时使用您的数据。

费用

如需在 Database Migration Service 转换工作区中使用 Gemini 辅助功能,您需要启用 Gemini for Google Cloud API。 Gemini 需付费使用。如需了解详情,请参阅 Gemini for Google Cloud 价格。

准备工作

如需在 Database Migration Service 中使用依托 Gemini 的功能,请在项目中为 Google Cloud 启用 Gemini。

启用 API

在项目中启用 Gemini for Google Cloud 后,您可以在工作区中使用所有由 Gemini 提供支持的转换功能。

所需的角色

如需获得使用 Gemini 增强型转换功能所需的权限,请让管理员为您授予项目的 Database Migration Admin (roles/datamigration.admin) 角色。

如需详细了解如何授予角色,请参阅 Identity and Access Management 文档中的 管理访问权限。

此预定义角色包含使用 Gemini 增强型转换功能所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

使用 Database Migration Service 执行异构 SQL Server 迁移需要以下权限:

  • datamigration.*
  • cloudaicompanion.entitlements.get

使用 Gemini 自动转换功能

转换源架构时,Database Migration Service 会使用确定性转换规则来创建等效的 PostgreSQL 语法。自动转换在确定性结果的基础上集成了由 Gemini 提供支持的更正,以减少转换问题数量并提高转换质量。

您可以对通过 Gemini 修正功能增强的代码对象执行额外的质量和功能等效性评估。如需了解详情,请参阅 Gemini 质量评估。

如需使用自动转换功能,请执行以下操作:

  1. 创建新的转换工作区。请务必立即升级,以便使用最新的简化体验。
  2. 前往转换工作区,然后选择您的工作区。

    前往转换工作区

  3. 为您的工作区 启用自动转换。
  4. 转换源代码和架构。 点击 转换来源。

    Database Migration Service 会在转换过程中自动采用 Gemini 赋能的增强功能。您可以使用树状视图查看哪些对象由 Gemini 增强:

    转换树状视图,其中包含由 Gemini 赋能的增强摘要。
    图 1. 源架构树状视图,其中显示了 Gemini 增强状态。(点击可放大)
    转换树状视图,其中包含由 Gemini 赋能的增强摘要。
  5. 在树状视图中,选择任何增强的对象,即可查看自动转换提供的增强功能的详细信息。如果您不喜欢 Gemini 引入的更改,请点击改用确定性代码,将对象还原为确定性转换结果。

    由 Gemini 提供支持的自动转换面板,其中包含有关对转换后的架构实施了哪些调整的详细信息。
    图 2. Gemini 赋能的自动转换面板,您可以在其中检查代码和架构增强功能的详细信息。 (点击可放大)
    由 Gemini 提供支持的自动转换面板,其中包含有关对转换后的架构实施了哪些调整的详细信息。

启用自动转换

如果您之前停用了自动转换功能,可以在 Gemini 面板中启用该功能:

  1. 在 Google Cloud 控制台中,前往转换工作区,然后选择您的工作区。

    前往转换工作区

  2. 点击 pen_spark Gemini。

    Gemini 侧边栏随即打开。

  3. 选中自动转换复选框,然后点击保存设置。

    现在,当您转换架构时,转换工作区将自动转换。

  4. 可选:在要使用 Gemini 转换源对象吗?对话框中,点击转换。

    启用自动转换后,已转换的对象不会被修改。 您可以稍后再次 转换架构。

停用自动转换

如需停用自动转换功能,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区,然后选择您的工作区。

    前往转换工作区

  2. 点击 pen_spark Gemini。

    Gemini 侧边栏随即打开。

  3. 取消选中自动转换复选框,然后点击保存设置。

    现在,当您转换架构时,转换工作区将使用确定性代码和架构转换。

  4. 可选:在要转换源对象吗?对话框中,点击转换。

    停用自动转换功能后,已转换的对象不会被修改。 如果您想还原转换结果以使用确定性转换规则,可以稍后再次转换架构。

使用 Gemini 转换助理

转换助理是一组专用提示,可用于更好地了解对象转换逻辑、征求有关如何优化代码和解决转换问题的建议,甚至向架构添加注释以自文档化数据库对象。

一张屏幕截图,展示了如何访问 Gemini 提示词,以了解代码和架构转换的可解释性。
图 1. Gemini 转换助理提示。(点击可放大)
一张屏幕截图,展示了如何访问 Gemini 提示词,以了解代码和架构转换的可解释性。

启用转化助理

当您在项目中为 Google Cloud 启用 Gemini 时,系统会默认启用转换助理。如果您之前停用了转换助理,则可以在工作区中重新启用它。如需启用转化助理,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区,然后选择您的工作区。

    前往转换工作区

  2. 点击 pen_spark Gemini。

    Gemini 侧边栏随即打开。

  3. 选中转化辅助复选框,然后点击保存设置。

停用转化助理

如需停用转化助理,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区,然后选择您的工作区。

    前往转换工作区

  2. 点击 pen_spark Gemini。

    Gemini 侧边栏随即打开。

  3. 选中转化辅助复选框,然后点击保存设置。

帮我解决对象转换问题

基于规则的代码和架构转换引擎在将对象从 Oracle 转换为 PostgreSQL 时,有时可能会遇到问题。例如,某些 Oracle 函数在 PostgreSQL 中可能没有直接对应的函数。您可以使用帮我解决对象转换问题提示,获取可解决转换问题的代码更改建议。

此提示仅适用于存在转换问题的 可修改代码对象。您无法在转换工作区中查看其他类型对象的此提示。

如需使用此提示,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区。

    前往转换工作区

  2. 从可用转换工作区列表中,选择要使用的转换工作区。

    系统会打开转换工作区编辑器。

  3. 在 Oracle 面板中,选择一个 Oracle 对象。

  4. 在对象详情视图中,依次选择 Gemini 转换助理图标。 辅助 > 帮我解决对象转换问题。

    系统会打开一个窗格,其中显示提示结果。

  5. 验证显示建议改进的差异界面。如果您对结果满意,可以使用插入建议按钮更新转换后的对象。

  6. 对每个故障代码对象重复上述步骤。当您应用代码建议时, Gemini 模型会学习模式,并就如何将修复传播到工作区中的所有故障对象提供建议。

说明此对象的转换逻辑

借助说明此对象的转换逻辑提示,您可以逐步了解转换后的代码的作用,包括新代码中应用的最佳实践摘要。

如需请求对象转换逻辑的说明,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区。

    前往转换工作区

  2. 从可用转换工作区列表中,选择要使用的转换工作区。

    系统会打开转换工作区编辑器。

  3. 在 Oracle 面板中,选择一个 Oracle 对象。

  4. 在对象详情视图中,依次选择 Gemini 转换助理图标。 Assist > Explain the conversion logic for this object。

    系统会打开一个窗格,其中显示提示结果。

帮我优化此代码

有时,基于规则的代码和架构转换结果在技术上可能是正确的,但并未针对 PostgreSQL 环境进行全面优化。您可以使用帮我优化此代码提示,获取针对数据库对象的代码优化建议。

如需使用此提示,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区。

    前往转换工作区

  2. 从可用转换工作区列表中,选择要使用的转换工作区。

    系统会打开转换工作区编辑器。

  3. 在 Oracle 面板中,选择一个 Oracle 对象。

  4. 在对象详情视图中,依次选择 Gemini 转换助理图标。 协助 > 帮我优化此代码。

    系统会打开一个窗格,其中显示提示结果。

  5. 在结果面板中,阅读说明,查看代码,并确保建议符合您的需求。如果您对结果满意,可以使用插入建议按钮更新转换后的对象。

添加注释,说明此对象的用途

添加注释,说明此对象的用途提示会生成代码注释建议,您可以将其添加到数据库对象中,以实现自文档化架构。

如需使用此提示,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区。

    前往转换工作区

  2. 从可用转换工作区列表中,选择要使用的转换工作区。

    系统会打开转换工作区编辑器。

  3. 在 Oracle 面板中,选择一个 Oracle 对象。

  4. 在对象详情视图中,依次选择 Gemini 转换助理图标。 Assist > Add comments to explain the purpose of this object。

    系统会打开一个窗格,其中显示提示结果。

  5. 在结果面板中,阅读说明,查看代码,并确保建议符合您的需求。如果您对结果满意,可以使用插入建议按钮更新转换后的对象。

通过 Gemini 质量评估确保转换质量

Gemini 可以通过质量评估帮助您验证代码和架构转换的输出。这些评估侧重于验证转换后代码的功能等效性(即确保 PostgreSQL 代码产生与源 SQL Server 代码相同的结果),但报告还包含有关整体转换质量的详细反馈。代码中发现的任何问题都会作为新的转化问题提出。

转化工作区中的 Gemini 转化质量报告面板。
图 3.Gemini 转换质量评估报告示例。

您可以为工作区配置自动质量评估,也可以为所选对象手动运行报告。

启用自动质量评估

您可以将转换工作区配置为自动对符合条件的代码对象运行 Gemini 质量评估。此功能要求您同时启用 Gemini 自动转换。

如需配置自动质量评估,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区,然后选择您的工作区。

    前往转换工作区

  2. 点击 pen_spark Gemini。

    Gemini 侧边栏随即打开。

  3. 选中转化质量评估复选框,然后点击保存设置。

现在,Database Migration Service 会自动为转换后的对象创建质量评估报告。

运行手动质量评估报告

您可以按需对使用 Gemini 自动转换功能转换的任何受支持代码对象运行质量评估。

如需运行手动质量评估,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区,然后选择您的工作区。

    前往转换工作区

  2. 在转换工作区编辑器中,使用来源面板选择要使用 Gemini 增强转换的对象。

    您可以使用 Augmented by Gemini 过滤条件,以便更轻松地进行导航。如需了解详情,请参阅 在来源架构视图中过滤对象。

  3. 在转换详情面板中,选择质量评估报告标签页,然后点击评估此代码的质量。
  4. 评估运行完毕后,结果会显示在质量评估报告标签页中。

质量评估的限制

  • Gemini 质量评估仅适用于使用 Gemini 自动转换功能转换的对象。
  • 质量评估不支持架构对象。
  • 评估主要侧重于功能等效性和整体质量。 报告不包含性能测试。

使用 Gemini 代码转换功能传播转换问题修复

当您在工作区中修复转换问题时,Gemini 模型可以从您的修复中学习,并针对工作区中的其他故障对象提出更改建议。这样,您就可以将修正内容传播到多个对象,而无需手动进行所有修改。

启用 Gemini 转换建议

在项目中启用 Gemini for Google Cloud 时,系统会默认启用转换建议。 如果您之前停用了此功能,可以在工作区中重新启用。如需启用转化助理,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区,然后选择您的工作区。

    前往转换工作区

  2. 点击 pen_spark Gemini。

    Gemini 侧边栏随即打开。

  3. 选中模式匹配复选框,然后点击保存设置。

停用 Gemini 转换建议

如需停用转化建议,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区,然后选择您的工作区。

    前往转换工作区

  2. 点击 pen_spark Gemini。

    Gemini 侧边栏随即打开。

  3. 清除模式匹配复选框,然后点击保存设置。

在 Database Migration Service 中查看 Gemini 转换建议

当您解决对象问题(通过修改 SQL 对象的代码或应用 帮我解决对象转换问题提示建议的代码)时,Gemini 模型会分析您的更改。在进行足够的更改后,Gemini 集成会显示提示并建议进一步修改。

如需访问 Gemini 建议,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往转换工作区。

    前往转换工作区

  2. 从可用转换工作区列表中,选择要使用的转换工作区。

    系统会打开转换工作区编辑器。

  3. 在 Oracle 面板中,选择要调整其生成的 SQL 的对象。

  4. 解决您在对象中遇到的转换问题,并保存代码更改。 您可以 手动修改代码,也可以使用 帮我解决对象转换问题提示。

    Gemini 模型会分析您最近的修复,直到它可以针对存在转换问题的其他对象建议类似的更新。 当 Gemini 模型分析了足够多的修复后,系统会显示查看 Gemini 提供的建议对话框。

    Gemini 建议修复问题对话框。
    图 2. Gemini 建议修复问题对话框。 (点击可放大)
    Gemini 建议修复问题对话框。
  5. 如需查看根据您所做更改生成的 AI 生成建议,请点击查看建议。

查看 Gemini 转换建议

使用 Gemini 修复问题页面会显示 Gemini 模型根据您所做的代码更改生成的建议。这些建议包含您可以应用于其他对象的类似更改。对于每条建议,您可以查看、更改、接受或忽略。

使用 Gemini 修复问题页面会显示对象源代码的三个变体,您可以在修改视图菜单中选择这些变体:

  • 原始源代码(只读)
  • 目标位置对应的草稿源代码(只读)
  • 在 Gemini 的协助下生成的目标源代码(可修改)

对象窗格包含存在问题的对象列表以及 Gemini 模型建议的问题修正建议。

如需查看 Gemini 建议,请按以下步骤操作:

  1. 点击某个对象即可显示相关的 AI 建议修复。
  2. 查看并修改 Gemini 模型建议的代码。
  3. 执行下列其中一项操作:

    • 如需接受建议(包括您所做的修改),请点击接受代码。 更改会应用于转换工作区中的对象,并且对象列表中的对象状态会从待处理更改为已接受。

    • 如需保留建议(包括您的修改)而不应用更改,请切换到其他对象。对象仍处于待处理状态。您可以稍后修改代码并接受或忽略建议。

    • 如需忽略待处理或已接受的建议(并还原您的修改),请点击忽略代码。对象列表中的对象状态会从待处理更改为已忽略。您的更改已还原。 您可以修改代码,稍后再应用。

如需关闭 Gemini 建议并舍弃所有尚未应用的更改,请按照以下步骤操作:

  1. 在使用 Gemini 解决问题页面上,点击返回箭头。
  2. 在关闭 Gemini 对话框中,点击关闭。

    当前 Gemini 会话已关闭。如需返回建议页面,请再次 访问 Gemini 建议。

后续步骤