问题标签 [prooph]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
prooph - 如何避免使用 prooph 的事件溯源?
我认为事件溯源的概念是事件溯源与领域层相关,不能与基础设施层耦合。所以我不会使用 prooph/event-sourcing 组件,这就是 Prooph 的团队不会维护 event-sourcing 组件的原因。(本文提到)
问题来了,Aggregate、DomainEvent等属于Domain层,放在事件溯源组件中。事件存储属于基础设施层,所以我可以直接使用 prooph/event-store 组件。但是,我发现 class Prooph\EventSourcing\Aggregate\AggregateRepository
is used in prooph/event-store-symfony-bundle
,为什么 AggregateRepository 放在事件溯源中?我认为 Repository to Infrastructure conecrning,事件存储 symfony bundle 不应该再使用事件源组件,并且 Repository 也不应该放在事件源中。
这让我很困惑。所以我现在不能使用 prooph/event-store。
你怎么想?
php - Symfony,proopgh,事件溯源错误 42S02。也许没有设置事件流表?
早安/晚安,
我真的是 prooph 事件采购的新手。
尝试了解它是如何与 symfony 一起工作的。
看看这个项目。
https://github.com/prooph/proophessor-do-symfony
一开始我应该如何处理数据库?
我运行命令
php bin/console event-store:event-stream:create
但收到错误消息:
有一会儿我在命令之后有空数据库
我该如何设置它们?有一些 symfony 命令吗?还是我需要手动完成?
请帮我。
php - Prooph Eventstore (PDO) 和 Doctrine DBAL 导致多个连接
情况
我在 Symfony 4.3 中将 Prooph 用于我的 commandbus、eventbus 和 eventstore。由于不是每个聚合都需要事件源,我们还使用 Doctrine DBAL 来简单地 CRUD 那些简单的聚合。
在给定的域中,我在我的命令总线中配置了命令/处理程序,它们使用事件源存储库或 DBAL 存储库。
当将此命令总线注入 CLI 命令时,这会在 CLI 上运行任何内容时导致多个数据库连接。
问题
当尝试删除/创建数据库(用于原始安装或重置测试环境)时,Postgres 拒绝,因为还有另一个活动连接。
- 我尝试禁用所有具有事件源存储库的命令并且问题已解决。
- 我尝试禁用所有具有 DBAL 存储库的命令并且问题已解决。
- 我尝试不注入此命令总线,问题已解决。
因此,我可以有把握地得出结论,将带有 PDO 连接的服务与带有 DBAL 连接的服务结合使用时,问题就会出现。
解决方案(失败)
我想到的一个解决方案是将 Doctrine $connection->getWrappedConnection()
DBAL 用于 Prooph Eventstore。显然 typehinting 不允许这样做(getWrappedConnection()
返回一个-interface Connection
),但如果它确实有效,实际的 Doctrine会PDOConnection
扩展\PDO
,我愿意在这一点上接受这个hackiness!但是,无济于事,仍然是2个连接。
event-sourcing - 是否可以使用 Prooph 设置事件 created_at 时间?
我正在评估 Proof 是否适合这个项目。我通读了文档,但它们没有涵盖这种情况,我不确定如何像这样使用它,或者我想做的事情是否对事件溯源有意义。
我有一个系统每 5 到 10 分钟获取一次数据,但在该数据中是在该时间内获取的一系列指标。(简化示例)
如果我正在处理这个实时,一个“OFF”事件将被发送到10:23
。
然而数据被延迟了,但我仍然想将事件存储为好像它发生在10:23
,即使我可能将它发送到事件存储中10:30
。
Prooph可以做到这一点吗?如果没有,是否有更合适的方法来处理这样的记录延迟数据?