ユーザーが PostgreSQL の JSONB レコード タイプを使用してカスタム フィールドを作成できる、フェニックスの Rails で最初に作成したアプリケーションを再実装しています。例として、次の (簡略化された表現) スキーマがあります。
クライアント
- ID (整数)
- クライアント タイプ ID (int)
- 名前 (文字列)
- 情報 (jsonb)
クライアントの種類
- ID (整数)
- 名前 (文字列)
カスタム フィールド定義
- ID (整数)
- クライアント タイプ ID (int)
- キー (文字列)
- ラベル(文字列)
Rails では、ActiveRecord が魔法のように JSONB をハッシュとの間で変換します。これにより、JSONB を使用してカスタム フィールドのスキーマレス セットを非常に簡単に格納できます。
たとえば、クライアントの種類ごとに異なるカスタム フィールドを定義できます。ユーザーに情報を表示するときに、定義をループしてキーを取得し、それを使用して JSONB ドキュメントからデータを取得します。
私は Ecto を使用してこれを達成する方法を見つけようとしていましたが、埋め込まれたスキーマを見る必要があるように見えます (ここで良い情報を見ました)。実行時にこれにカスタム量のフィールドを追加できますか?
これについてのアドバイスを探していました。これまでのところ、これは私が遭遇した唯一の実際の障害であり、ほとんどすぐには解決されません。
ありがとうございます。