tourze / doctrine-async-bundle
Doctrine Async Bundle
Installs: 2 907
Dependents: 5
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^8.1
- doctrine/dbal: ^3.7.0 || ^4.0
- doctrine/doctrine-bundle: ^2.13
- doctrine/orm: ^2.20 || ^3.0
- doctrine/persistence: ^3.1 || ^4
- psr/log: ^3|^2|^1
- symfony/config: ^6.4
- symfony/dependency-injection: ^6.4
- symfony/event-dispatcher: ^6.4
- symfony/framework-bundle: ^6.4
- symfony/http-kernel: ^6.4
- symfony/messenger: ^6.4
- symfony/service-contracts: ^3.5
- symfony/yaml: ^6.4 || ^7.1
- tourze/doctrine-entity-checker-bundle: ~0.0.8
- tourze/symfony-async-bundle: 0.0.*
- yiisoft/json: ^1.0
Requires (Dev)
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.0
README
A Symfony bundle that provides asynchronous database operations for Doctrine DBAL, built on top of Symfony Messenger component.
Features
- Asynchronous database insert operations
- Duplicate entry detection and handling
- Configurable duplicate entry error handling
- Comprehensive logging for insert operations
- JSON data type support with automatic encoding
Installation
composer require tourze/doctrine-async-bundle
Quick Start
<?php use Tourze\DoctrineAsyncBundle\Message\InsertTableMessage; // Create an insert message $message = new InsertTableMessage(); $message->setTableName('your_table'); $message->setParams([ 'column1' => 'value1', 'column2' => ['array', 'will', 'be', 'json_encoded'], ]); $message->setAllowDuplicate(false); // Set to true to ignore duplicate entry errors // Dispatch the message using Symfony Messenger $messageBus->dispatch($message);
Contributing
Please see CONTRIBUTING.md for details.
License
The MIT License (MIT). Please see License File for more information.