我的avdl定义如下,
@namespace("my.event")
protocol Customer {
record Address {
string street;
}
}
但是在事件发布和模式注册之后,我想设置street
类型以也允许null
值。我希望更改是向前/向后兼容的。我怎样才能做到这一点?
在记录之前定义一个新的名称空间可以做到吗? (https://github.com/ga4gh/ga4gh-schemas/issues/344#unions或https://docs.oracle.com/database/nosql-12.2.4.4/GettingStartedGuide/schemaevolution.html)
怎么了
union{null, string} street = null;
答案 0 :(得分:0)
是的,如果要使字段不再是必需的,则可以使用现有类型将其包装为null。我与经常看到它的人一起工作,并且针对这些主题,Confluent Schema Registry设置为BACKWARDS配置。
注意:发布事件之前,您可以(并且应该)始终check the compatiblity使用新架构