#avro
#авро
Вопрос:
У меня есть существующая схема avro
{
"name": "myenum",
"type": {
"type": "enum",
"name": "Suit",
"symbols": ["SPADES", "HEARTS", "DIAMONDS", "CLUBS"]
},
"default": null
}
Я хочу добавить значение null по умолчанию и обновить контракт до следующего результата ошибки обратной совместимости. что можно сделать, чтобы решить эту проблему
{
"name": "myenum",
"type": [ null, {
"type": "enum",
"name": "Suit",
"symbols": ["SPADES", "HEARTS", "DIAMONDS", "CLUBS"]
}],
"default": null
}
Комментарии:
1. У вас уже есть значение по умолчанию null. Какова точная ошибка?
Ответ №1:
Существует проблема с null
добавленным.
т.е.
{
"name": "myenum",
"type": [ null, { <- problem
"type": "enum",
"name": "Suit",
"symbols": ["SPADES", "HEARTS", "DIAMONDS", "CLUBS"]
}],
"default": null
}
Оно должно быть в кавычках: null
=> "null"
. Таким образом, обновленное определение будет похоже:
{
"name": "myenum",
"type": [ "null", { <- change
"type": "enum",
"name": "Suit",
"symbols": ["SPADES", "HEARTS", "DIAMONDS", "CLUBS"]
}],
"default": null
}
Комментарии:
1. Это правильное решение этой проблемы