sql >> データベース >  >> RDS >> Oracle

チーム内でOracleのストアドプロシージャを操作するためのツール?

    元の投稿者がまだこれを監視しているかどうかはわかりませんが、とにかく質問します。

    元の投稿は次のことができるように要求されました:

    作業中の現在の手順を自動的に「ロック」するために、チーム内の他の誰も、あなたが終了するまでその手順に変更を加えることはできません。

    おそらく、ここでの問題は、製品がストアドプロシージャを「ロック」できないこと以上の開発パラダイムの1つです。 「これをロックしたいので、他の誰も変更しない」と聞くと、すぐに人々がスキーマを共有していて、全員が同じスペースで開発しているように感じます。

    このような場合は、データモデルのコピーを使用して、すべての人に独自のスキーマを持たせてみませんか?私は真剣に人々を意味します、それは別のスキーマを作成するために何も「コスト」がかかりません。そうすれば、各開発者は、他の人に影響を与えることなく、顔が青くなるまで変更を加えることができます。

    サイズが原因ですべての開発者にデータの独自のコピーを持たせることが不可能だったときに私が過去に(小さなチームで)使用したもう1つのトリックは、すべてのテーブルとコードを含むマスタースキーマを持つことでした。パブリックシノニムがすべてを指しています。次に、開発者がストアドプロシージャで作業したい場合は、自分ので作成するだけです。 スキーマ。このようにして、Oracleの名前解決は、マスタースキーマのコピーではなく、最初にそれを検出し、他の人に影響を与えることなくコードをテストできるようにします。これには欠点がありますが、これは私たちが彼らと一緒に暮らすことができる非常に特殊なケースでした。明らかに、このようなものを本番環境に実装することは決してありません。

    2番目の要件について:

    Oracleデータベースのストアドプロシージャで行った変更を、Subversion、CVS、...リポジトリに自動的に送信するには

    これを行うのに十分賢いツールを見つけて驚いたでしょう(おそらく機会:)。データベースに接続し、データディクショナリ(USER_SOURCE)をクエリして、関連するテキストを引き出す必要があります。ほぼ普遍的にファイルベースであるソース管理システムの厳しい注文。



    1. PostgreSQLのクエリエラーによって結果が返されません

    2. SQLServer2008で選択したクエリ結果からテーブルを作成する方法

    3. ORA-01658:表領域TS_DATAにセグメントのINITIALエクステントを作成できません

    4. パラメータの配列を受け入れるOracleでストアドプロシージャを作成する方法