このチュートリアルでは、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拡張機能の詳細については、「
関連するコンテンツ
- Oracle から Azure Database for PostgreSQL アプリケーションへの変換 (プレビュー) とは
- OracleからAzure Database for PostgreSQLへのアプリケーション変換で生成されたレポート (プレビュー)
Oracle アプリケーション コードを Azure Database for PostgreSQL (プレビュー) - Oracle から Azure Database for PostgreSQL へのアプリケーション変換の制限事項 (プレビュー)