9

大規模なパッケージを使用して、Oracle のマルチ開発者環境で作業しています。DEV => TST => PRD プロモーション パターンがあります。現在、すべてのパッケージ編集は TOAD で直接行われ、DEV パッケージにコンパイルされます。

2 つの問題が発生します。

  1. 同時変更は、異なるスケジュールでプロモートする必要があります。たとえば、開発者 A は明日プロモートする必要がある変更を行い、開発者 B はさらに 2 週間プロモートされない変更に同時に取り組んでいます。プロモーションの時期になると、まだプロモーションされていないものを手動でコメントアウトし、後でコメントを外していることに気付きます..うん!!!

  2. 2 人の開発者が同時に変更を行っていて、そのうちの 1 人がコンパイルすると、他の開発者の変更が消去されます。適切なマージはありません。代わりに、最新のコンパイルが優先されます。

これを回避するためにどのような戦略をお勧めしますか? ソース管理に TFS を使用していますが、Oracle パッケージではまだ使用していません。

PSこの投稿を見たことがありますが、私の質問に完全には答えていません。

4

8 に答える 8

4

チーム内のOracleでストアドプロシージャを操作するためのツールに関する私の回答を参照してください(これはタグを付け直したばかりです)。

結論:TOADを使用してプロシージャを直接変更しないでください。ソースをファイルとして保存し、ソース管理に保存し、変更してから実行します。

さらに、各開発者がデータベースの独自のコピーで作業することを強くお勧めします(無料のOracle Expressを使用してください)。ソース管理でデータベースを作成するためにすべてのスクリプトを保存する場合、これを行うことができます。詳細については、こちらをご覧ください

于 2009-04-02T15:04:30.853 に答える
4

重要なのは、ソース管理システムからコードのみをデプロイするという慣行を採用することです。私は TSF に詳しくありませんが、ブランチやタグなどの概念を実装する必要があります。何をデプロイするかという問題は、ソース管理システムでのビルドとリリースのタグ付けから外れます。

追加のヒント (Oracle 用):

  • パッケージの仕様と本体を、それぞれに一貫したファイル パターンを使用する異なるファイルに分割すると、最適に機能します (たとえば、パッケージの仕様には ".pks"、パッケージの本体には ".pkb")。ファイル パターンを処理できる自動ビルド プロセスを使用する場合は、すべてのスペックをビルドしてからボディをビルドできます。これにより、パッケージ本体のみをデプロイする場合のオブジェクトの無効化も最小限に抑えられます。

  • ソース管理システムのリリースまたはビルド状態に基づいて自動化されたビルド プロセスを構成するために時間を割いてください。適度な数の db コード オブジェクトがある場合でも、コードを参照システムに組み込み、それを QA システムまたは実稼働システムと比較できるようにすることには費用がかかります。

于 2009-04-01T17:33:07.963 に答える
2

Oracle Developer Tools for Visual Studio.NETを使用しています...TFS にプラグインします

于 2009-04-01T15:26:32.383 に答える
1

すべてのストリームに Dev データベースを使用し、さまざまなストリームにラベルを付けます。

当社の Oracle ライセンスは無制限の開発/テスト インスタンスを提供しますが、当社は ISV であるため、別のライセンス オプションがある場合があります

于 2009-04-01T15:24:49.033 に答える
0

TFS 2008 に対して、TFS MSSCCI プロバイダーと共に Toad for Oracle を使用します。ソース管理からデータベース チェックインを取得し、リリース用にパッケージ化するカスタム ツールを使用します。

私の知る限り、Oracle Developer Tools for Visual Studio.Net には、TFS などとの実際のソース管理統合はありません。

Toad Extensions for Visual Studio を検討するかもしれませんが、安くはありません。おそらく 4,000 ドルだと思います。

もう 1 つのオプションはOracle Change Management Packですが、それにははるかに高価な Oracle の Enterprise エディションが必要であると考えています。

于 2011-08-19T13:48:37.753 に答える