チュートリアル: Oracle から Azure Database for PostgreSQL アプリケーションへの変換 (プレビュー)

このチュートリアルでは、Visual Studio Code PostgreSQL 拡張機能と GitHub Copilot エージェント モードを使用して、コード変換を自動化および検証するAzure Database for PostgreSQLに Oracle クライアント アプリケーション コードを変換する方法について説明します。

環境の設定、アプリケーションコードベースのインポート、変換プロセスの実行、生成された PostgreSQL 互換コードの確認について説明します。 開始する前に、最適な結果を得るためのスキーマ変換プロジェクトが完了していることを確認してください。

変換中に期待できることは次のとおりです。

  • 環境のセットアップ: GitHub Copilot エージェント モードを適切なAIモデルで構成する
  • コードベースのインポート: 移行プロジェクト構造でアプリケーション コードを整理する
  • AI 処理: データベース コンテキストを使用してアプリケーション コードを処理および変換GitHub Copilot
  • TODO タスク実行: タスク リストの自動生成と体系的な変換
  • レポート生成: 結果と推奨事項を含む包括的な変換レポート
  • ファイルの比較: 元のコードと変換されたコードを確認するための組み込みの差分ツール

前提条件

このセクションでは、Oracle データベースを Azure Database for PostgreSQL へ変換するアプリケーション変換機能を Visual Studio Code で使用するための前提条件について、変換を開始する前に説明します。

システム要件

Requirement 仕様
Visual Studio Code バージョン 1.95.2 以降
GitHub Copilot サブスクリプション Pro+、Business、Enterprise

オペレーティング システムのサポート

プラットフォーム アーキテクチャ
Windows x64 と ARM64
リナックス x64 と ARM64
macOS x64 (Intel) と ARM64 (Apple シリコン)

AI モデルの要件

GitHub Copilot エージェント モードで構成されている次のいずれかの AI モデルが必要です。

Model バージョン
Claude Sonnet 4.6 または Opus 4.6 以降

アプリケーション変換を開始する前に、GitHub Copilot エージェント モード モデルを Claude Sonnet 4.6 または Claude Opus 4.6 以上に設定して、最適なコード変換の結果を得られるようにします。

PostgreSQL バージョンのサポート

ターゲット データベース バージョン
Azure Database for PostgreSQL フレキシブル サーバー PostgreSQL バージョン 15 以降
Azure HorizonDB PostgreSQL バージョン 17 以降

スキーマ変換の推奨事項

データベース スキーマの変換を事前に実行する必要はありませんが、最初にスキーマの移行を完了することを強くお勧めします。 Oracle スキーマを PostgreSQL に既に変換している場合、アプリケーション変換プロセスでは、以下を通じてより正確なコンテキストと高品質のコード変換結果が提供されます。

  • コーディングに関する注意事項: スキーマ変換中に生成されるメタデータ成果物 (以下 の「コーディングに関する注意事項 」を参照)
  • データベース コンテキスト: 変換されたスキーマ オブジェクトへの直接アクセス
  • データ型マッピング: 型変換の正確な理解

その他の前提条件

  • Azure Database for PostgreSQL インスタンスへのデータベース接続
  • Visual Studio Code拡張機能マーケットプレースとGitHub Copilot サービスへのアクセス

コーディング ノートとは

コーディング ノートは、スキーマ変換フェーズ中に自動的に生成されるメタデータ成果物です。 これらは、後でアプリケーション コード変換を強化するためにプロセスで使用される Oracle から PostgreSQL へのスキーマ変換から、主要な変換の詳細と分析情報をキャプチャします。

コーディング ノートには、次のような情報が含まれる場合があります。

  • データ型のマッピングと構造の変更
  • シーケンス、ID、複合型の変換の詳細
  • 日付/時刻または間隔の実装に対する調整
  • 参照整合性制約を持つテーブルへの参照
  • プロシージャおよび関数シグネチャを含む複雑な Oracle パッケージの概要
  • コード変換の精度を向上させるための追加の AI 生成ヒント

アプリケーション変換中、AI モデルはこれらのノートをコンテキストシグナルとして使用して、より正確でセマンティックにアラインされた PostgreSQL 互換コードを生成します。

アプリケーション変換プロセス

このセクションでは、完全なアプリケーション変換ワークフローについて説明します。環境の設定、コードベースのインポート、変換の実行、生成されたレポートの確認、ファイルの変更の比較を行います。

手順 1: 環境を設定する

  • PostgreSQL 拡張機能がインストールされたVisual Studio Codeを開きます。
  • GitHub Copilot チャット インターフェイスを開きます。
  • モデル の Claude Sonnet 4.6 または Claude Opus 4.6 を選択します。

モデルの選択のスクリーンショット。

最適なアプリケーション変換結果を得るには、Claude Sonnet 4.6 または Claude Opus 4.6 の使用が必要です。 モデルを小さくすると、変換の精度が低下する可能性があります。

手順 2: 移行プロジェクトを開く

  • スキーマ変換プロジェクトを含むワークスペースを開きます。

  • 移行プロジェクト フォルダー構造に移動します。

    .github/postgres-migration/project_name/
    
  • プロジェクト構造にスキーマ変換に必要なフォルダーとファイルが含まれていることを確認します。

手順 3: コードベースを移行プロジェクトにコピーする

  • プロジェクト内の application_code フォルダーを見つけます。

    .github/postgres-migration/project_name/application_code/
    
  • 移行するコードベース フォルダーを、プロジェクト フォルダー内の application_code フォルダーにコピーします。

  • 体系的な変換を容易にするために、論理的にファイルを整理します。

プロジェクト内のアプリケーション コード フォルダーのスクリーンショット。

元のアプリケーション コードをバックアップとして別の場所に保持します。 移行プロジェクト構造に変換するファイルのみをコピーします。

手順 4: クライアント コードの移行を開始する

  • PostgreSQL 拡張機能の [移行] パネルで、[ アプリケーションの移行 ] を選択して、アプリケーション変換ウィザードを開始します。
  • 読み込まれるフォームで、ワークスペースのルートにコピーしたフォルダーを選択します。
  • アプリケーションのコンテキストを持つデータベースを選択します。
    • 変換された DDL をデプロイした PostgreSQL データベース、または
    • アプリケーション スキーマが既に存在する PostgreSQL データベース
  • [ アプリケーションの変換] を選択します。 アプリケーションの変換のスクリーンショット。

このアクションにより、次のプロセスが開始されます。

  • カスタム複合プロンプトとエージェント モード ツールを呼び出します
  • エージェント モードで作業を続行するタスクの TODO リストを生成します。
  • 強化されたコンテキストのためにデータベースに接続して読み取ります
  • アプリケーション コード ファイルを体系的に変換する

手順 5: 変換の進行状況を監視する

  • ファイルを処理するGitHub Copilot エージェント モード インターフェイスを確認します。
  • エージェントは、生成された TODO リストを体系的に使用します。
  • 入力が必要になる可能性があるエージェントからのプロンプトまたは質問を確認します。
  • 結果を確認する前に、変換プロセスを完全に完了できるようにします。

手順 6: GitHub Copilot アプリの最新化拡張機能を使用したJava変換の強化 (省略可能)

Java コードを操作する場合: 変換を開始する前に、GitHub Copilot App Modernization Extension をインストールすることで、変換プロセスを強化できます。

自動テストコンパイルの実行

2 つの VS Code 拡張機能は、シームレスな統合を提供するために相互に通信します。 Javaコードを変換すると、アプリモダン化拡張機能は、変換されたコードのテスト コンパイルを自動的に実行して、プロセスの早い段階で構文エラーやコンパイルの問題を特定します。

単体テストの自動生成

変換されたコードベースに基づいて、アプリモダン化拡張機能は、変換されたアプリケーションが正しく動作することを検証するために、単体テストを自動的に生成します。 この統合では、アプリモダン化拡張機能の機能を活用して、次の操作を行います。

  • 変換されたJavaのクラスとメソッドを分析する
  • 重要なコード パスの適切なテスト ケースを生成する
  • PostgreSQL データベース接続で動作するテスト フィクスチャを作成する

GitHub Copilot アプリモダン化拡張機能のインストールは、Java移行プロジェクトに強くお勧めします。これは、自動コンパイル チェックとテスト生成によって検証が大幅に高速化され、変換品質が向上するためです。

手順 7: コード変換レポートを確認する

  • アプリケーション変換がエージェント モードで完了すると、自動的に生成され、包括的なレポートが開きます。
  • レポートには、変換の詳細な結果と推奨される次の手順が表示されます。 変換レポートのスクリーンショット。

包括的なレポート ガイダンスについて: 変換結果の解釈、ファイルの状態の理解、検証戦略の計画に関する詳細情報については、Oracle から Azure Database for PostgreSQL へのアプリケーション変換生成レポート(プレビュー)を参照してください。

手順 8: ファイル差分機能を使用してコードの変更を比較する

  • 変換されたファイル (たとえば、 .java ファイル) を右クリックし、[ アプリ移行ファイルペアの比較] を選択します。
  • これにより、元のファイルと変換されたファイルのサイド バイ サイド ビューが開きます。
  • これを使用して、テストの前に重要な変換を検証します。

効果的なファイル比較戦略: 最初に確認するファイルの優先順位を決定し、検証の焦点をどこに置くべきかについてのガイダンスは、Oracle から Azure Database for PostgreSQL アプリケーション変換生成レポート(プレビュー) を参照してください。

手順 9: 変換されたアプリケーション コードを検証する

基本的な検証手順:

  • 変換された PostgreSQL スキーマを使用して 非運用環境のテスト環境 を設定する
  • 新しい PostgreSQL 接続文字列を使用してデータベース接続をテストする
  • 重要なビジネス ワークフローを実行 してアプリケーションの動作を確認する
  • Oracle からの予想される結果に対して SQL クエリの結果を検証する
  • 変換レポートでフラグを立てられた領域に対処する

Important

AI システムは、間違いを犯すことがあります。 機能の回帰、セキュリティの問題、またはデータ アクセスの問題を防ぐために、運用環境にデプロイする前に、変換されたすべてのアプリケーション コードを個別に検証します。

システム検証アプローチ: Oracle アプリケーション コードを Azure Database for PostgreSQL (プレビュー)、Oracle 統合の複雑さと変換レポートの結果に基づいてテストの優先順位を付けます。

変換後の手順

アプリケーションの変換が完了したら、次の手順を実行します。

  • 単体テストの実行: 変換されたコードに対してアプリケーションのテスト スイートを実行します。
  • 統合テスト: PostgreSQL データベースを使用してアプリケーションをテストします。
  • パフォーマンス テスト: クエリのパフォーマンスが要件を満たしていることを検証します。
  • コード レビュー: チーム メンバーに変換されたコードの精度を確認させます。
  • ドキュメントの更新: Oracle 固有の機能を参照するすべてのドキュメントを更新します。

包括的な検証戦略: 変換の複雑さに基づく詳細な検証フレームワーク、テストの優先順位、チームの調整方法については、Oracle アプリケーション コードを Azure Database for PostgreSQL (プレビュー) に変換するためのベスト プラクティスをご覧ください。

Visual Studio Code拡張機能の詳細については、「Visual Studio Code の PostgreSQL 拡張機能とは