versioning - 向现有 CQRS 事件添加更多属性

标签 versioning cqrs event-sourcing document-versioning

我们使用 NEventStore(艺术家以前称为 Jonathan Oliver 的 EventStore)来存储我们的 CQRS 事件。我想知道如果我们希望向事件添加新属性,是否需要创建新版本的事件。

我知道我们不应该重命名现有的属性,因为这会在从 EventStore 读取事件时产生问题。但是,如果我们只添加新属性会不会产生任何问题?

最佳答案

取决于您如何序列化消息。换句话说,最好的表达方式(/搜索现有答案)是确定您如何序列化消息,然后找出该机制如何处理问题。

假设它是带有 JSON.NET 和简单 POCO 的 JSON,那么答案是添加属性的处理非常干净 - 在没有任何自定义(这是非常可行的)的情况下,新字段随 default(T) 一起出现。 ,即 null0对于每个相关值。

关于versioning - 向现有 CQRS 事件添加更多属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17719434/

相关文章:

perl - 如何添加基于 perl 版本的函数?

domain-driven-design - CQRS - 如何处理新的报告表(或 : how to import ALL history from the event store)

akka - 使用 akka-persistence 的 CQRS + 事件溯源实现

api - 一起执行REST,CQRS和EventSourcing时如何在REST中支持Command?

GitHub 发布、多个文件和版本控制

git - 使用 Git 保留我的应用程序的公共(public)和私有(private)版本

c# - 处理排队的命令处理程序响应。 CQRS

cqrs - 事件存储 : learning how to use

version-control - 如何应对软件文档和软件本身的版本控制?

php - 在使用 CQRS 的情况下从另一个命令调用一个命令