makina Corpus/事件存储

简单的事件存储实现

1.0.8 2022-11-15 10:25 UTC

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 文件夹中生成。