Lamoda cleaner bundle

Symfony Bundle for lamoda/cleaner library.
Installation
- Install the Bundle with composer:
$ composer require lamoda/cleaner-bundle
<?php
return [
Lamoda\CleanerBundle\LamodaCleanerBundle::class => ['all' => true],
];
- Configure cleaners for your project:
lamoda_cleaner:
db:
queue:
transactional: false
query: DELETE FROM queue WHERE created_at < NOW() - (:interval || ' days')::interval
parameters:
interval: 30
types:
- integer
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' }
Usage
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