政府機関向けに、PHP と Oracle で開発されたリリース管理システムを構築しています。このアプリケーションのデータはデータベース表に格納され、PL/SQL パッケージおよびプロシージャで処理されます。
リリース管理プロセスは、Subversion リポジトリからのメタデータに広く基づいています。内部 Oracle JVM を介して PL/SQL からリポジトリにアクセスし、Oracle インスタンスが存在する UNIX サーバーで svn コマンドを実行します。svn コマンドの結果は XML で受信され、PL/SQL によって処理される前に解析されます。この方法で Subversion にアクセスすると、頻繁に繰り返し使用する場合、パフォーマンスが低下します。
現在、私たちが行っていることは、(Subversion フックを介して) Subversion リポジトリのコミットごとにデータベース テーブルに Subversion メタデータを格納することです。各 Subversion トランザクションのログ情報を抽出し、いくつかのオラクル テーブルに保持します。その後、通常の SQL クエリで Subversion メタデータを取得できます。
PL/SQL から Subversion にアクセスするより良い方法はありますか?