ソフトウェアソリューションの顧客が多いほど、スキームに含まれる個々のOracleオブジェクト(テーブル、パッケージ、関数など)が増えます。今のところ、「X_CUSTOMER1_TABLENAME」のような識別名を付けることでこれらを分離しています。例:(私は知っています..... :-()
これは、参照をクリーンに保つ場合、および参照を顧客データベースとデプロイ/同期する場合にはあまり実用的ではありません。ある顧客は、デプロイ時に他の顧客のオブジェクトを受け取ります。
この問題に対する一般的な解決策はありますか?私たちは、顧客ごとに個別のスキームを用意することを考えていました。そうすれば、基本的な機能を備えた標準の手つかずのスキームと、個々のコンテンツを備えた顧客スキームが得られます。
もう少し具体的に言うと、ソフトウェアのコンテンツ/機能を最大限に活用する基本的なテーブルが約100あります。各顧客は、個々のパッケージ、関数などの標準オブジェクトと組み合わせて使用される「カスタム」データを含む1〜5の追加テーブルを持っている場合があります。ほとんどの場合、この顧客だけがこれらの1〜5のテーブルを持っています(たとえば、会社固有のコンテンツ)。他の会社には意味がありません)。
ヒントやベストプラクティスをいただければ幸いです。これは、昔ながらのリレーショナルデータベースです。
ありがとうございました!