Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Message Repository For Doctrine Laravel Package

eventsauce/message-repository-for-doctrine

Doctrine DBAL-backed EventSauce MessageRepository for persisting event streams. Supports configurable table/column schemas (default or legacy) and pluggable UUID encoding (binary or string), plus custom headers/columns for indexing and storage optimization.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Event Sourcing Architecture: Enables persistence of domain events using Doctrine DBAL, aligning with event-driven architectures.
  • Legacy System Modernization: Supports migration from older EventSauce versions (pre-1.0) via LegacyTableSchema.
  • Custom Event Storage: Allows schema customization for performance (e.g., indexing) or compliance (e.g., audit columns).
  • Tech Stack Consistency: Integrates with existing PHP/Laravel projects using Doctrine DBAL, reducing dependency sprawl.
  • Cost Efficiency: Avoids proprietary event stores (e.g., EventStoreDB) for simpler use cases with minimal overhead.

When to Consider This Package

  • Use this if:

    • Your PHP/Laravel app already uses Doctrine DBAL (or can adopt it).
    • You need a lightweight, self-hosted event store without external dependencies.
    • Your event sourcing needs are basic (no complex projections or subscriptions).
    • You require UUID support (binary or string) for event/aggregate IDs.
    • You’re migrating from EventSauce pre-1.0 or need backward compatibility.
  • Look elsewhere if:

    • You need scalable event streaming (consider EventStoreDB, Kafka, or Pulsar).
    • Your team lacks Doctrine DBAL expertise or prefers ORM-based solutions.
    • You require advanced querying (e.g., filtering events by type/attributes).
    • Your database doesn’t support UUID types (binary encoding adds complexity).
    • You need built-in event versioning or schema migrations (this requires manual handling).

How to Pitch It (Stakeholders)

For Executives: "This package lets us store domain events in our existing PostgreSQL/MySQL database using Doctrine, cutting costs by avoiding third-party event stores. It’s a lightweight, self-hosted solution that aligns with our PHP/Laravel stack—ideal for event sourcing use cases like audit logs, user activity tracking, or financial transactions. Low maintenance, high compatibility."

For Engineering: "We can leverage Doctrine DBAL to persist events with customizable schemas (e.g., adding metadata columns for indexing). Supports UUIDs natively (binary or string) and includes a legacy schema for migrations. Perfect for greenfield projects or adding event sourcing to existing apps without heavy infrastructure changes. Trade-off: No built-in projections or subscriptions, but we can layer those on top if needed."

For Developers: "Drop-in event repository for Doctrine DBAL. Configure once with your connection, serializer, and schema—then query events by aggregate ID/version. Supports custom UUID encoding and extra columns for flexibility. Docs are minimal but the API is straightforward."

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
directorytree/privacy-filter-classifier
directorytree/privacy-filter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony
spatie/flare-daemon-runtime