私は、plsqlを使用してビジネスロジックがOracleデータベースに実装されるプロジェクトに取り組んでいます。コードベースは大きくなり、その管理は悪夢になりつつあります。
たとえば、コードベースがJava、C#、…の場合、履歴が保存されるプロジェクトのバージョン管理システムがあり、ブランチやタグなどを使用してプロジェクトを管理しています。pl/でこれを行う方法がわかりません。データベースサーバーに直接保存されるSQLコード。
このような状況について知りたいのですが、plsqlコードベースを管理するためのベストプラクティスは何ですか?オラクルplsql共有この質問を改善するフォローする2013年4月17日5:01に編集サティヤジスバート19.5k2121個のゴールドバッジ8989個のシルバーバッジ125125個のブロンズバッジ2013年4月16日12:54に 尋ねたYoh0xFF1,23622つのゴールドバッジ1616個のシルバーバッジ2828個のブロンズバッジ
- ストアドプロシージャ/ PLSQLのバージョン管理が重複している可能性はありますか? – Sathyajith Bhat 2013 年 4月17日5:01
4つの答え
私は20年ほどOracleと仕事をしてきましたが、満足のいくコード管理システムが使用されているのを見たことがありません。
ただし、昨年、私はRuby on Railsアプリに取り組んでおり、分散バージョン制御システム「git」がgitflowによって拡張され、コードブランチ(マスター、開発、機能、ホットフィックスなど)とデータベースのデプロイ(マスター、開発、機能、修正プログラムなど)の形式化に役立っています。 PostgreSQL)rakeを使用した移行。必要なすべてのボックスにチェックマークが付いているので、Oracleコードでそれらを使用する機会があればよかったのにと思います。共有この答えを改善するフォローする2013年4月17日9:15に 回答デビッドオルドリッジ48.4k88つのゴールドバッジ5959個のシルバーバッジ8787個のブロンズバッジ
- OracleおよびHTML / Javascriptアプリの場合、Subversionといくつかのホームロールビルドおよびデプロイメントスクリプトを使用している非常に小さなチームでビルドしています。makeを使用してビルド/デプロイメントスクリプトをやり直したい。Subversionは分岐とマージが非常に苦手なので、代わりに新しいバージョンを迅速にデプロイするために使用しません。 – Colin’t Hart 2013年4月17日9:21
- それはSubversionでの私の(限られた)経験でもありました。もちろん、分岐は簡単なはずです。マージの秘訣は、個々のファイルの差分を処理することだけに帰着する必要があります。これは、どのツールを好むかを考えると、もっと問題になります。ブランチ管理のためにより強力なものが必要な場合は、gitとgitflowを検討することをお勧めします。企業タイプがそれに反抗することは知っていますが、github.comも非常に便利なリポジトリサービスです。 – デビッドオルドリッジ2013 年4月17日10:09
コメントを追加10
一部のクライアントツールがデフォルトでそのように機能するという理由だけで、PL / SQLのみをデータベースに格納する理由はありません。
お気に入りのソース管理システムを選択し、そこにPL / SQLソースを格納することを強くお勧めします。all.sqlを使用して、すべてのPL / SQLパッケージおよびその他の作成または置換オブジェクトを作成します。
ストアドプロシージャ/ PLSQLのバージョン管理を参照してください。別のアプローチの場合ですが、これにはセットアップにもう少し手間がかかります。共有この答えを改善するフォローする2017年5月23日12:15に編集コミュニティ♦11シルバーバッジ1個2013年4月16日12:57に 回答Colin’t Hart5,9661ゴールドバッジ1個2525個のシルバーバッジ4646個のブロンズバッジ
- データベース接続なしで、オフラインでplsqlを開発するために使用できるツールは何ですか? – yoh0xFF 2013 年4月17日7:43
- メモ帳?vi?どのテキストエディタでもかまいませんが、vimやUltraEditなど、構文が強調表示されているものもあります。 – Colin’t Hart 2013年4月17日8:02
- 開発用に複数のデータベースを持たない理由はありません。各開発者は独自のデータベースを持つことができます。オラクルの営業担当者に確認してくださいが、ライセンスでは通常それが許可されています。 – デビッド・オルドリッジ2013 年4月17日9:11
- 非常に良い点です。別のアプローチは、「役割」ごとに1つのデータベースを持つことです。フロントエンド開発者が開発に対して安定しているデータベースを1つ作成しようとしていますが、バックエンド開発者はフロントエンドが安定しているデータベースを使用しています。 – Colin’t Hart 2013年4月17日9:15
すべてのPL / SQLがデータベースに適用される前に外部でスクリプト化されていることを確認し、それらのファイルをソース管理下に置いてください。私が選んだツールはTortiseHGです。
ストアドプロシージャの定義などがデータベース上にあるだけだとしたら、これを取り上げているのと同じ理由で、私は非常に不幸です。共有この答えを改善するフォローする2013年4月16日13:31に 回答marceljg86744つのシルバーバッジ1313個のブロンズバッジ
- 同意します。c#/ JavaとPL / Sqlの間に違いはありません。外部ソース管理を使用します。私はsvnを使用しています。 – ハキ2013 年4月16日14:35
OracleデータベースでPL / SQLコードを管理できるようにツールを作成しました。GitをOracleデータベースにフックし、PL / SQLコードベースを簡単に管理するのに役立ちます。コミット、リセット、ブランチ、クローン作成、マージ、プルなどの基本的なGitタスクを実行でき、Gitoraはデータベース内のPL / SQLコードを自動的に更新します。
www.gitora.comからダウンロードできます。共有この答えを改善するフォローする20年1月19日19:07に編集2014年11月7日10:20に 回答justadeveloper2021シルバーバッジ1個10ブロンズバッジ10個
- 最近、開発者が2つのデータベース間でコードを移動(Git専門用語でプル)できるようにする新しいバージョンをリリースしました。 – justadeveloper 2017年 1月4日22:54