将avdl(avro模式)字段从必需字段更新为可选(NULL)值

时间:2019-01-12 11:06:05

标签: schema avro idl

我的avdl定义如下,

@namespace("my.event")
protocol Customer {

 record Address { 
  string street;
 }
}

但是在事件发布和模式注册之后,我想设置street类型以也允许null值。我希望更改是向前/向后兼容的。我怎样才能做到这一点? 在记录之前定义一个新的名称空间可以做到吗? (https://github.com/ga4gh/ga4gh-schemas/issues/344#unionshttps://docs.oracle.com/database/nosql-12.2.4.4/GettingStartedGuide/schemaevolution.html) 怎么了

union{null, string} street  = null;

1 个答案:

答案 0 :(得分:0)

是的,如果要使字段不再是必需的,则可以使用现有类型将其包装为null。我与经常看到它的人一起工作,并且针对这些主题,Confluent Schema Registry设置为BACKWARDS配置。

注意:发布事件之前,您可以(并且应该)始终check the compatiblity使用新架构