adgoal/cleaner-bundle
Symfony bundle integrating lamoda/cleaner. Configure DB and custom storage cleaners via YAML, including transactional mode, parameters, and multi-query setups. Provides a console command to run all cleaners or a selected one (cleaner:clear).
Symfony Bundle for lamoda/cleaner library.
$ composer require adgoal/cleaner-bundle
<?php
// config/bundles.php
return [
// ...
Lamoda\CleanerBundle\LamodaCleanerBundle::class => ['all' => true],
// ...
];
lamoda_cleaner:
db:
queue:
transactional: false # optional, default true
query: DELETE FROM queue WHERE created_at < NOW() - (:interval || ' days')::interval
parameters:
interval: 30
types: # optional, if required special type handling
- integer
# you can use multiple queries at one command
multi_tables:
class: Lamoda\Cleaner\DB\DoctrineDBALCleaner
transactional: true
queries:
- query: DELETE FROM table_a WHERE created_at < NOW() - (:interval || ' days')::interval
parameters:
interval: 30
- query: DELETE FROM table_b WHERE created_at < NOW() - (:interval || ' days')::interval
parameters:
interval: 30
You can also add your own storage cleaners.
To do this you have to implement Lamoda\Cleaner\CleanerInterface and register your cleaner with tag:
services:
custom_cleaner:
class: My\Custom\Implementation
tags:
- { name: 'lamoda_cleaner.db', alias: 'custom' }
Bundle adds command to run cleaners.
Run all cleaners in DB:
./bin/console cleaner:clear db
or only one of them:
./bin/console cleaner:clear db queue
How can I help you explore Laravel packages today?