makina Corpus / 事件存储
简单的事件存储实现
1.0.8
2022-11-15 10:25 UTC
Requires
- php: >=8.0
- makinacorpus/goat-query: ^2.1.7 || ^3.0
- makinacorpus/message: ^1.0.1
- makinacorpus/normalization: ^1.0.1
- psr/log: >=1.0
- ramsey/uuid: ^3.8 || ^4
Requires (Dev)
- phpunit/phpunit: ^9
- symfony/config: ^5.4 || ^6.0
- symfony/console: ^5.4 || ^6.0
- symfony/dependency-injection: ^5.4 || ^6.0
- symfony/event-dispatcher: ^5.4 || ^6.0
- symfony/http-kernel: ^5.4 || ^6.0
- symfony/serializer-pack: ^1.0|^5.0
- symfony/validator: ^5.4 || ^6.0
- symfony/yaml: ^5.4 || ^6.0
Suggests
- makinacorpus/goat-query: For using PostgreSQL implementations of everything
- symfony/serializer-pack: For better object serialisation and normalisation within the bus
This package is auto-updated.
Last update: 2024-09-08 15:55:36 UTC
README
PHP中基于PostgreSQL的意见事件存储实现。
请注意,它基于 makinacorpus/goat-query
SQL查询构建器和数据库连接器构建。任何支持PostgreSQL RETURNING
子句等效的驱动程序都将工作。
设置
首先安装此包
composer install makinacorpus/event-store
还建议选择一个UUID实现
composer install ramsey/uuid
或者
composer install symfony/uid
我最喜欢的仍然是 ramsey/uuid
。
Symfony
首先安装 makinacorpus/goat-query-bundle
Symfony扩展包
composer install makinacorpus/goat-query-bundle
然后按照文档进行配置。
然后注册该扩展包到您的 config/bundles.php
文件中
<?php return [ // ... Your other bundles. MakinaCorpus\EventStore\Bridge\Symfony\EventStoreBundle::class => ['all' => true], ];
独立
这部分尚未文档化,但基本只需创建一个实现 EventStore
的实例。
用法
这部分尚未文档化。
状态
目前这是alpha质量。它刚刚从已弃用的旧 makinacorpus/goat
包中导出,需要一些beta测试。
尽管如此,您应该知道这段代码已在许多项目中运行多年,并且处于生产状态。
运行测试
在 sys/
文件夹中有一个包含各种PHP版本的容器的Docker环境。如果测试在所有PHP版本中失败,您需要运行 composer update --prefer-lowest
。
composer install composer update --prefer-lowest cd sys/ ./docker-rebuild.sh # Run this only once ./docker-run.sh
此外,生成覆盖率报告
./docker-coverage.sh
HTML覆盖率报告将在 coverage
文件夹中生成。