{ "manifests": { "patchlevel/event-sourcing-bundle": { "manifest": { "bundles": { "Patchlevel\\EventSourcingBundle\\PatchlevelEventSourcingBundle": [ "all" ] }, "copy-from-recipe": { "config/": "%CONFIG_DIR%/", "migrations/": "migrations/" }, "env": { "#1": "Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url", "#3": "", "#4": "EVENTSTORE_URL=\"pdo-sqlite:///%kernel.project_dir%/var/data.db\"", "#5": "EVENTSTORE_URL=\"pdo-mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=8.2\"", "EVENTSTORE_URL": "pdo-pgsql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=16&charset=utf8" }, "dockerfile": [ "RUN install-php-extensions pdo_pgsql" ], "docker-compose": { "docker-compose.yml": { "services": [ "eventstore:", " image: postgres:${POSTGRES_VERSION:-16}-alpine", " environment:", " POSTGRES_DB: ${POSTGRES_DB:-app}", " # You should definitely change the password in production", " POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-!ChangeMe!}", " POSTGRES_USER: ${POSTGRES_USER:-app}", " volumes:", " - eventstore_data:/var/lib/postgresql/data:rw", " # You may use a bind-mounted host directory instead, so that it is harder to accidentally remove the volume and lose all your data!", " # - ./docker/db/data:/var/lib/postgresql/data:rw" ], "volumes": [ "eventstore_data:" ] }, "docker-compose.override.yml": { "services": [ "eventstore:", " ports:", " - \"5432\"" ] } }, "post-install-output": [ " * Modify your EVENTSTORE_URL config in .env" ] }, "files": { "config/packages/patchlevel_event_sourcing.yaml": { "contents": [ "patchlevel_event_sourcing:", " aggregates: '%kernel.project_dir%/src'", " events: '%kernel.project_dir%/src'", " connection:", " url: '%env(EVENTSTORE_URL)%'", " provide_dedicated_connection: true", " store:", " type: dbal_stream", " # if you are using doctrine bundle you should enable this", " #merge_orm_schema: true", " command_bus:", " service: messenger.default_bus", " query_bus:", " service: messenger.default_bus", " subscription:", " gap_detection:", " enabled: true", "", " # enable this if you want to use sensitive data encryption", " #cryptography:", " # enabled: true", " # use_encrypted_field_name: true", "", "when@dev:", " patchlevel_event_sourcing:", " subscription:", " catch_up: true", " throw_on_error: true", " run_after_aggregate_save: true", " rebuild_after_file_change: true", " auto_setup: true", "", "when@test:", " patchlevel_event_sourcing:", " subscription:", " store:", " type: 'static_in_memory'", " catch_up: true", " throw_on_error: true", " run_after_aggregate_save: true", "" ], "executable": false }, "migrations/.gitignore": { "contents": [ "" ], "executable": false } }, "ref": "ad40771309d22017b56e024ace50321a4f8d9fe1" } } }