在使用带有域事件的 CQRS 模式来生成读取模型时。
如果我们使用一些默认数据在数据库中添加新列或直接从 sql 查询手动插入新行,在这种情况下不会生成任何事件,那么如何更新现有生成的读取模型?
在使用带有域事件的 CQRS 模式来生成读取模型时。
如果我们使用一些默认数据在数据库中添加新列或直接从 sql 查询手动插入新行,在这种情况下不会生成任何事件,那么如何更新现有生成的读取模型?
正如他们的名字所说,领域事件是代表在您的领域中发生的事情,一个好的做法是尽可能将它们提升到与它们相关的聚合。实际上,您应该将这些事件记录在聚合本身中。
在您的情况下,您正在执行的操作似乎完全在您的域之外,因此您会遇到问题,这就是您不知道该怎么做的原因。
我建议你做一些类似于这个过程的事情:
我强烈建议您避免执行手动 SQL 查询,因为您的应用程序将无法始终如一地对这些更改做出反应。
希望这可以帮到你!!
再见,祝你好运!
在这种情况下,您只需要为您的读取模型编写一个自定义脚本。与您编写模型相同。最好从代码而不是 SQL 脚本中执行此操作。如果您有事件存储数据库,则需要人工创建事件并进行存储。