micro-module/event-store-dbal
A Doctrine DBAL-backed event store for micro-module applications. Persist and replay domain events in a relational database through a simple API suited to event sourcing and CQRS workflows.
doctrine/dbal, so it makes event sourcing concrete enough to spike against a real schema in days rather than weeks. That is the primary product value here: it lowers the cost of the decision, not the cost of the build.Consider it when:
doctrine/dbal is well-maintained; the risk is concentrated in this thin layer, which is also correspondingly replaceable.Look elsewhere when:
spatie/laravel-event-sourcing for a Laravel-native ecosystem, eventsauce/eventsauce for a framework-agnostic PHP option, or prooph/event-store / broadway/broadway for more established stores. The opportunity score (28.25) reflects that the market gap this fills is small given those incumbents.To executives: This is a low-cost way to answer a strategic question — should our product keep a complete, replayable history of what happened, and what would that unlock (audit and compliance, customer-visible history, safe recovery from data errors, new analytics read models)? It is MIT-licensed, tiny, and easy to walk away from, so the downside is bounded to engineering days, not platform lock-in. The upside is a validated architecture decision backed by a working prototype. Recommendation: fund a timeboxed spike, not adoption.
To engineering: It is a thin append-only store over doctrine/dbal — deliberately unopinionated, and framework-agnostic by virtue of the DBAL dependency. The design risk is low because the surface is small and the underlying driver is mature; the maintenance risk is the real issue (no releases since May 2022, no dependents, single maintainer). So evaluate it as reference implementation and starting point, budget a fork, and do not treat it as a supported dependency. If the spike succeeds, re-run the build-vs-buy against Spatie or EventSauce before committing to production.
How can I help you explore Laravel packages today?