SAASアプリケーションを構築しています。顧客が特定のモデルのフィールドをカスタマイズできるようにする必要があります。フィールドを追加または削除できる必要があります。このアプリケーションは基本的に、顧客が資産の属性をカスタマイズできる資産管理です。
アセット用のテーブルがあります。warranty
これらのテーブルには、vendor
、maintenance
などの複数の属性テーブルがあります。
class Computer < ..
has_one :warranty
has_one :vendor
end
そこにはデフォルトの属性セットがありますが、顧客はフィールドを変更できるはずです。
どうすればこれを達成できますか?
私が知っていることはわかりました。マルチテナンシーの場合、スコープ、複数のデータベース、またはすばらしい PostgreSQL のスキーマを使用できます。しかし、顧客ごとにカスタム フィールドを実装するにはどうすればよいでしょうか。
NoSQL を使用する必要がありますか? または、ベース テーブルに RDBMS を使用し、属性テーブルに NoSQL を使用する必要がありますか?
この要件を満たすスケーラブルな SAAS アプリの適切な組み合わせ、ソリューション、またはアーキテクチャは何ですか?