我正在接受有关数据库表模式的信息。它包含有关表列的信息。因此,显而易见,这些列具有
name
类型的属性
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
在中指定
uniqueKey
中不存在
columns
列表
这是否可以通过当前的json模式规范和实现实现?在这方面我没有找到任何方向。
我当前的json模式如下:
...
"attributes":
{
"type": "array",
"items":
{
"type": "object",
"properties":
{
"name": {"type": "string"},
...
},
"required": ["name",...],
...
}
},
"uniqueKey":
{
... ** here is where I have stuck ** ...
}
...