多くの組織で共有されているデータベースがあります (マルチテナント シナリオ)。
承認されたユーザーが、そのような制約を毎回明示的にコーディングする必要なく、単一の組織のデータのみを表示できるようにしたいと考えています。
これを行うための LightSpeed の適切なアプローチはありますか?
多くの組織で共有されているデータベースがあります (マルチテナント シナリオ)。
承認されたユーザーが、そのような制約を毎回明示的にコーディングする必要なく、単一の組織のデータのみを表示できるようにしたいと考えています。
これを行うための LightSpeed の適切なアプローチはありますか?
考えられる解決策の 1 つは、テナントごとに個別のテーブルを用意することです。つまり、テーブルに何らかのテナント ID のプレフィックスを付けます。
たとえば、顧客テーブルがある場合、テナント名を前に付けることができます
Client1_Customer
Client2_Customer
Lightspeed には、DefaultNamingStrategyと呼ばれる命名戦略が組み込まれています。これは、 INamingStrategyの独自の実装に置き換えることができます。現在のテナントを識別し、対応するテーブル名を選択できるように、 GetTableNameを実装するだけです。
QueryFilterAttributes と呼ばれる LightSpeed の優れた機能を発見しました。LightSpeed のネイティブのソフト削除のように、組織 ID をクエリに挿入できる組織クエリ フィルター属性を作成できます。
とても滑らかです。