eventsauce/message-repository-for-doctrine
Composer 安装命令:
composer require eventsauce/message-repository-for-doctrine
包简介
Message Repository for Doctrine DBAL 3
README 文档
README
MessageRepository implementation that uses Doctrine DBAL for event persistence.
Usage
use EventSauce\MessageRepository\DoctrineMessageRepository\DoctrineUuidV4MessageRepository; use EventSauce\MessageRepository\TableSchema\DefaultTableSchema; use EventSauce\UuidEncoding\BinaryUuidEncoder; $messageRepository = new DoctrineUuidV4MessageRepository( connection: $doctrineDbalConnection, tableName: $tableName, serializer: $eventSauceMessageSerializer, tableSchema: new DefaultTableSchema(), // optional uuidEncoder: new BinaryUuidEncoder(), // optional );
Table Schema
TableSchema allows customizing the table and column names used when performing
database operations, as well as allowing for additional headers to be added.
Default Table Schema
The default implementation DefaultTableSchema uses the following column names:
event_idprimary key (text/UUID)aggregate_root_idaggregate root ID (text/UUID)versionaggregate root version (int)payloadencoded event payload (text/JSON)
Legacy Table Schema
For users upgrading from EventSauce pre-1.0, there is a LegacyTableSchema:
event_idprimary key (text/UUID)event_typethe serialized event name (text)aggregate_root_idaggregate root ID (text/UUID)aggregate_root_versionaggregate root version (int)time_of_recordingwhen the event was written (timestamp)payloadencoded event payload (text/JSON)
Custom Implementations
Custom implementations of TableSchema can use the additionalColumns method to
write other Header values to columns, which can be useful for indexing.
UUID Encoder
UuidEncoder allows customizing how the UUIDs used for the event ID and the
aggregate root ID are converted to string when written to the database.
Binary UUID Encoder
UuidBinaryEncoder encodes the UUID using $uuid->getBytes() to generate a binary
text version of the UUID, which should be used when the database does not have a
native uuid type.
String UUID Encoder
UuidStringEncoder encodes the UUID using $uuid->toString() to generate a plain
text version of the UUID, which should be used when the database has a uuid type.
Custom Implementations
Custom implementations of UuidEncoder can be used to optimize UUID storage as needed.
eventsauce/message-repository-for-doctrine 适用场景与选型建议
eventsauce/message-repository-for-doctrine 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 526.26k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 05 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 eventsauce/message-repository-for-doctrine 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 eventsauce/message-repository-for-doctrine 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 526.26k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 23
- 依赖项目数: 3
- 推荐数: 1
其他信息
- 授权协议: MIT
- 更新时间: 2021-05-05