私たちのプロジェクトでは、いくらか組み合わせたアプローチを使用しています。ルートとしてのプログラムのコアと、サブフォルダー内の他の機能があります。
root/
plugins/
auth/
mail/
report/
等
これらすべてのフォルダには、DDLスクリプトとDMLスクリプトの両方があり、ほとんどすべてを複数回実行できます。たとえば、すべてのパッケージがとして定義されているcreate or replace...場合、すべてのデータ挿入スクリプトはデータがすでに存在するかどうかをチェックします。これにより、何かをクラッシュさせる可能性があるとは思わずに、ほとんどすべてのスクリプトを実行する機会が得られます。
create table明らかに、このシナリオは、および同様のステートメントには適用できません。これらのスクリプトでは、指定されたファイルを抽出し、次のような特定のORAエラーで失敗しないように実行する小さなbashスクリプトを手動で作成しましたORA-00955: name is already used by an existing object。
また、すべてのファイルはディレクトリ内で混在していますが、拡張子が異なります。.seqシーケンス、.tblテーブル、.pkgパッケージインターフェイス、.bdyパッケージボディ、.trgトリガーなどです。
また、すべてのファイルのプレフィックスを示す命名規則があります。cl_oper.tblテーブルcl_oper.seqとcl_oper.trgシーケンス、トリガー、および言及cl_oper_processing.pkgさcl_oper_processing.bdyれたオブジェクトのロジックを使用できます。ファイルマネージャでのこの命名規則を使用すると、プロジェクトのロジックの一部のユニットに接続されているすべてのファイルを簡単に確認できます(オブジェクトタイプによるディレクトリのグループ化ではこれは提供されません)。
この情報が何らかの形でお役に立てば幸いです。ご不明な点がございましたらコメントを残してください。