Gemini アシスタンスを使用して Oracle のコードとスキーマを変換する

Database Migration Service は、Gemini for Workspace をコンバージョン ワークスペースに統合し、次の 2 つの領域で変換プロセスを高速化および改善します。 Google Cloud

  • コンバージョン アシスタントでコードの説明機能を提供します。コンバージョン ロジックの理解、コンバージョンの問題の修正案の提案、変換されたコードの最適化に役立つ一連のプロンプトです。

  • Gemini コード変換の候補を使用してコンバージョンの問題の修正を迅速に行う: Gemini モデルは、コンバージョンの問題を修正する際に学習し、ワークスペース内の他の不具合のあるオブジェクトへの変更を提案します。

また、2 つのアプローチを組み合わせて、Gemini 支援のコードオブジェクト変換をエンドツーエンドで完了することもできます。詳細については、変換に関する問題のあるコードオブジェクトを修正するワークフローの例をご覧ください。

SQL コードとスキーマは、コンバージョン ワークスペースを作成するリージョンに保存されます。Gemini モデルでコードとスキーマのアシスト変換を使用する場合、コードとスキーマが他のリージョンで処理されることがあります。

Gemini for Google Cloud がデータを使用する方法とタイミングについて学習する

料金

Database Migration Service 変換ワークスペースで Gemini アシスタンスを使用するには、Gemini for API を有効にする必要があります。 Google Cloud Gemini の料金が適用されます。詳細については、Gemini for Google Cloud の料金をご覧ください。

始める前に

Database Migration Service 変換ワークスペースで Gemini アシスタンスを使用するには、プロジェクトで Gemini を有効にする必要があります。 Google Cloud

API の有効化

プロジェクトで Gemini for Google Cloud を有効にすると、すべてのコンバージョン ワークスペースで Gemini 機能が有効になります。後で、特定のワークスペースで候補を無効にできます。

Gemini コンバージョン アシスタントを使用する

変換アシスタントは、オブジェクトの変換ロジックをより深く理解したり、コードを最適化して変換の問題を解決する方法についてアイデアを尋ねたり、スキーマにコメントを追加してデータベース オブジェクトをセルフドキュメント化したりするために使用できる一連のプロンプトです。

コードとスキーマ変換の説明可能性に関する Gemini プロンプトにアクセスする方法を示したスクリーンショット。
図 1.Gemini コンバージョン アシスタントのプロンプト。(クリックして拡大)
コードとスキーマ変換の説明可能性に関する Gemini プロンプトにアクセスする方法を示したスクリーンショット。

オブジェクト変換問題の修正方法を表示

ルールベースのコードとスキーマ変換エンジンは、Oracle から PostgreSQL にオブジェクトを変換するときに問題が発生することがあります。たとえば、特定の Oracle 関数には PostgreSQL に直接相当するものがない場合があります。[オブジェクト変換問題の修正方法を表示] プロンプトを使用すると、コンバージョンの問題を解決できるコード変更の提案を取得できます。

このプロンプトは、変換に関する問題がある編集可能なコード オブジェクトでのみ使用できます。コンバージョン ワークスペースの他のタイプのオブジェクトに対して、このプロンプトを表示することはできません。

このプロンプトを使用する手順は次のとおりです。

  1. Google Cloud コンソールで、[コンバージョン ワークスペース] に移動します。

    コンバージョン ワークスペースに移動

  2. 使用可能なコンバージョン ワークスペースのリストから、操作するコンバージョン ワークスペースを選択します。

    コンバージョン ワークスペース エディタが開きます。

  3. [Oracle] パネルで、Oracle オブジェクトのいずれかを選択します。

  4. オブジェクトの詳細ビューで、[コンバージョン アシスタント] > [オブジェクト変換問題の修正方法を表示] を選択します。

    プロンプトの結果が表示されたペインが開きます。

  5. 提案された改善が表示されている差分画面を確認します。結果に満足したら、[候補を挿入] ボタンを使用して、変換されたオブジェクトを更新できます。

  6. 問題のあるコードオブジェクトごとに手順を繰り返します。コード候補を適用すると、Gemini モデルがパターンを学習し、ワークスペース内のすべての不具合のあるオブジェクトに修正を伝播する方法に関する提案を提供できます。

このオブジェクトの変換ロジックを表示

[このオブジェクトの変換ロジックを説明] プロンプトを使用すると、変換されたコードの機能について、新しいコードに適用されたベスト プラクティスの概要を含め、手順を追って説明を確認できます。

オブジェクトの変換ロジックの説明をリクエストする手順は次のとおりです。

  1. Google Cloud コンソールで、[コンバージョン ワークスペース] に移動します。

    コンバージョン ワークスペースに移動

  2. 使用可能なコンバージョン ワークスペースのリストから、操作するコンバージョン ワークスペースを選択します。

    コンバージョン ワークスペース エディタが開きます。

  3. [Oracle] パネルで、Oracle オブジェクトのいずれかを選択します。

  4. オブジェクトの詳細ビューで、[コンバージョン アシスタント] > [このオブジェクトの変換ロジックを表示] を選択します。

    プロンプトの結果が表示されたペインが開きます。

このコードの最適化方法を表示

ルールベースのコードとスキーマの変換の結果は技術的には正しいものの、PostgreSQL 環境用に完全に最適化されていない場合があります。[このコードの最適化方法を表示] プロンプトを使用すると、データベース オブジェクトのコード最適化に関する提案を取得できます。

このプロンプトを使用する手順は次のとおりです。

  1. Google Cloud コンソールで、[コンバージョン ワークスペース] に移動します。

    コンバージョン ワークスペースに移動

  2. 使用可能なコンバージョン ワークスペースのリストから、操作するコンバージョン ワークスペースを選択します。

    コンバージョン ワークスペース エディタが開きます。

  3. [Oracle] パネルで、Oracle オブジェクトのいずれかを選択します。

  4. オブジェクトの詳細ビューで、[コンバージョン アシスタント] > [このコードを最適化する] を選択します。

    プロンプトの結果が表示されたペインが開きます。

  5. 結果パネルで説明を確認し、コードを確認して、提案がニーズに合っていることを確認します。結果に満足したら、[候補を挿入] ボタンを使用して、変換されたオブジェクトを更新できます。

このオブジェクトの目的を記述するコメントを追加

[このオブジェクトの目的を記述するコメントを追加] プロンプトでは、セルフドキュメント化スキーマ用にデータベース オブジェクトに追加できるコードコメントのプロポーザルが生成されます。

このプロンプトを使用する手順は次のとおりです。

  1. Google Cloud コンソールで、[コンバージョン ワークスペース] に移動します。

    コンバージョン ワークスペースに移動

  2. 使用可能なコンバージョン ワークスペースのリストから、操作するコンバージョン ワークスペースを選択します。

    コンバージョン ワークスペース エディタが開きます。

  3. [Oracle] パネルで、Oracle オブジェクトのいずれかを選択します。

  4. オブジェクトの詳細ビューで、[コンバージョン アシスタント] > [このオブジェクトの目的を記述するコメントを追加] を選択します。

    プロンプトの結果が表示されたペインが開きます。

  5. 結果パネルで説明を確認し、コードを確認して、提案がニーズに合っていることを確認します。結果に満足したら、[候補を挿入] ボタンを使用して、変換されたオブジェクトを更新できます。

Gemini コード変換で変換の問題の修正を伝播する

ワークスペースでコンバージョンの問題を修正すると、Gemini モデルは修正から学習し、ワークスペース内の他の不具合のあるオブジェクトに対する変更を提案できます。この方法では、すべての編集を手動で行うことを必要とせず、修正を複数のオブジェクトに反映できます。

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 モデルによって生成された候補が表示されます。これらの候補には、他のオブジェクトに適用できる同様の変更が含まれています。提案ごとに、提案を確認、変更、承認、無視できます。

[Fix issues with Gemini] ページには、オブジェクトのソースコードの 3 つのバリアントが表示されます。これらは、[Edit view] メニューで選択できます。

  • 元のソースコード(読み取り専用)
  • 移行先の下書きソースコード(読み取り専用)
  • Gemini アシスタントで生成された移行先のソースコード(編集可能)

[オブジェクト] ペインには、問題のあるオブジェクトのリストと、Gemini モデルによって提案された修正が含まれています。

Gemini の候補を確認する手順は次のとおりです。

  1. オブジェクトをクリックすると、関連する AI が提案する修正が表示されます。
  2. Gemini モデルが提案したコードを確認して編集します。
  3. 次のいずれかを行います。

    • 提案(編集内容を含む)を承認するには、[コードを承認] をクリックします。変更が変換ワークスペースのオブジェクトに適用され、オブジェクト リストのオブジェクトの状態が [保留中] から [承認済み] に変わります。

    • 変更を適用せずに候補(編集内容を含む)を保持するには、別のオブジェクトに切り替えます。オブジェクトは [Pending](保留中)ステータスのままです。コードを編集して、後で提案を承認または無視できます。

    • 保留中の候補や承認済みの候補を無視して編集内容を元に戻すには、[コードを無視] をクリックします。オブジェクト リスト内のオブジェクトの状態が [保留中] から [無視] に変わります。変更が元に戻されます。コードを編集して後で適用することもできます。

Gemini の候補を閉じて、適用していない変更をすべて破棄するには、次の操作を行います。

  1. [Gemini で問題を解決する] ページで、戻る矢印をクリックします。
  2. [Gemini を閉じる] ダイアログで [閉じる] をクリックします。

    現在の Gemini セッションは終了しています。候補ページに戻るには、Gemini の候補にアクセスし直します。

Gemini のコンバージョン候補を無効にする

デフォルトでは、プロジェクトで Gemini を有効にすると、コンバージョン ワークスペースで Gemini コンバージョンの候補が有効になります。特定のコンバージョン ワークスペースで Gemini の提案を無効にできます。Gemini コード修正候補を無効にするには、次の操作を行います。

  1. Google Cloud コンソールで、[コンバージョン ワークスペース] に移動します。

    コンバージョン ワークスペースに移動

  2. 使用可能なコンバージョン ワークスペースのリストから、操作するコンバージョン ワークスペースを選択します。

    コンバージョン ワークスペース エディタが開きます。

  3. タスクバーで、pen_spark [Gemini] をクリックし、[コード候補] を選択します。

このコンバージョン ワークスペースでは、Gemini コード変換の候補が無効になりました。

次のステップ