私たちのプロジェクトでは、いくらか組み合わせたアプローチを使用しています。ルートとしてのプログラムのコアと、サブフォルダー内の他の機能があります。
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
れたオブジェクトのロジックを使用できます。ファイルマネージャでのこの命名規則を使用すると、プロジェクトのロジックの一部のユニットに接続されているすべてのファイルを簡単に確認できます(オブジェクトタイプによるディレクトリのグループ化ではこれは提供されません)。
この情報が何らかの形でお役に立てば幸いです。ご不明な点がございましたらコメントを残してください。