If we change the ProjectionHandler, it may leave "corrupted" data, as the logic of storing information has change.
Reading old data may crash, as the new ReadModel expect other information.
Updating all the readmodels may not be possible in large tables.
What are the options?
I normally use a "version" attribute, that helps me identify this cases, and I recalculate the projection on realtime, so the first users has some performance impact. (should consider in these case projection stampede)
If we change the ProjectionHandler, it may leave "corrupted" data, as the logic of storing information has change.
Reading old data may crash, as the new ReadModel expect other information.
Updating all the readmodels may not be possible in large tables.
What are the options?
I normally use a "version" attribute, that helps me identify this cases, and I recalculate the projection on realtime, so the first users has some performance impact. (should consider in these case projection stampede)