2012-02-08 4 views
1

どうやらpl SQLパッケージのローカルバージョンとデータベースに格納されているものを比較する必要があります。それを行う "簡単な"方法はありますか? 現在、私はデータベースからパッケージをダウンロードし、いくつかのファイルに保存し、diffツールを使ってdiffを実行します。それはちょっと面倒なので、私はide(SQL Serverの開発者が望ましい)のような機能を持っていたいと思います。データベースパッケージを使用したdiffローカルパッケージ

+0

多くの差分ツールがあります。 CVSやSubversionをソース管理に使用しないでください。Eclipse(またはSQL DeveloperやToadなど)のようなクライアントを使って、最新バージョンの変更を簡単に実行できます。 – tbone

+0

@tbone、どのように私はSubversionを使用するだけでローカルのパッケージファイルをデータベースにあるものと比較できますか? –

+0

変更したローカルワークスペースがあり、ソース管理下の最新の(または任意の)バージョンと比較できます。 – tbone

答えて

3

一般的に、開発者はバージョン管理ソフトウェアを使用して相違点を確認し、バージョン履歴を維持し、チームのコード開発を調整します。 PL/SQLコードも同じでなければなりません。コードリリースを扱うには多くの方法がありますが、以下は私が行ったことですが、必ずしも「最良の」方法ではありません。

私が見たOracle環境では、CVSまたはSVNが使用されています。ほとんどのアプローチでは、最新のコードをリポジトリからチェックアウトしたり、編集(タグ付け/分岐)、チェックインを行います。コードがテストされ(開発インスタンス)、リリースが準備できたら、DBAはリポジトリからリリーススクリプトを取得して適用するか、正しいリリーススクリプトをDBAに引き渡すことを任されています(私の経験からもっと一般的です)。ここでのデータベースは、通常、本番インスタンスを反映するユーザー受け入れインスタンスです。アプリのテストに合格すると、コードはプロダクションにプロモートされます。

データベースとIDEの間で直接同期したい場合は、Toad Team Codingがあります。 Toadは無料ではありません。このオプションでは、データベースに追加のオブジェクト(メタデータ/追跡テーブルなど)がインストールされている必要があります。良いoverview is found here、良いセットアップ記事is found here

チームコードは非常にクールですが、私は開発環境にのみインストールします。あなたのシステムを通してそこからコードを宣伝する方法はあなた次第です。

0

sqlplusコマンド・ファイルで説明した手順を自動化するのはかなり簡単です。 all_sourceから選択し、ファイルにスプールします。コマンドファイル内でdiffコマンドを "host diff ..."または "!diff ..."として呼び出します。 diffの-bと-Bオプションは、それぞれ空白と空白行を無視します。

関連する問題