You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, if the data structure of a report changes significantly, it could introduce bugs for existing reports. For example, if fields are renamed, removed or added to the report entity.
This is something that's bound to happen over the lifetime of this plugin. We could do one of two things:
Provide upgrade scripts for each version change
Allow data structures to work across upgrades
I believe that the second option is the easiest way forward, specifically by using protocol buffers. Airflow will let us store base64 encoded data in a variable, which means we can store protobufs as report entity values, just like we do now. The difference is that, instead of JSON, they'll be binary.
An obvious con is that binary is not human readable. I would say, however, that the variable value isn't being read anyway. The main benefit of the variable value is the ability to copy and paste (or import/export) across environments. For example, if we wanted to promote a report from dev to prod, you just copy the variable. This would still work with protobuf binary data.
The text was updated successfully, but these errors were encountered:
Currently, if the data structure of a report changes significantly, it could introduce bugs for existing reports. For example, if fields are renamed, removed or added to the report entity.
This is something that's bound to happen over the lifetime of this plugin. We could do one of two things:
I believe that the second option is the easiest way forward, specifically by using protocol buffers. Airflow will let us store base64 encoded data in a variable, which means we can store protobufs as report entity values, just like we do now. The difference is that, instead of JSON, they'll be binary.
An obvious con is that binary is not human readable. I would say, however, that the variable value isn't being read anyway. The main benefit of the variable value is the ability to copy and paste (or import/export) across environments. For example, if we wanted to promote a report from dev to prod, you just copy the variable. This would still work with protobuf binary data.
The text was updated successfully, but these errors were encountered: