データベース テーブル スキーマに関する情報を受け付けています。テーブルの列に関する情報が含まれています。したがって、明らかなように、これらの列name
には type の属性がありますstring
。ただし、それらの名前は、事前に選択された名前リストからのものである必要はありません。それらは、ユーザーが入力したものであれば何でもかまいません。ここで、複合キーにすることができ、ユーザーが入力した列のみを含むテーブルの一意のキーも受け入れたいと考えています。つまり、一意のキーは、json データでユーザーが提供する列で構成できます。
したがって、技術的に必要なのは、一意のキーを表す配列の項目の型となる動的に入力された文字列列挙 (入力 json データから) です。したがって、配列の各要素は列名になります。
たとえば、以下のjsonデータ
"columns":
{
"col1": "val1",
"col2": "val2",
"col3": "val3"
},
"uniquelKey": ["val1","val2"]
有効ですが、
"columns":
{
"col1": "val1",
"col2": "val2",
"col3": "val3"
},
"uniquelKey": ["val1","val4"]
val4
指定された inがリストuniqueKey
に存在しないため、 は無効です。columns
これは、現在の json-schema の仕様と実装で達成できますか? この点で、私は何の方向性も見つけられませんでした。
私の現在のjsonスキーマは次のようになります。
...
"attributes":
{
"type": "array",
"items":
{
"type": "object",
"properties":
{
"name": {"type": "string"},
...
},
"required": ["name",...],
...
}
},
"uniqueKey":
{
... ** here is where I have stuck ** ...
}
...