adgoal / cleaner-bundle
adgoal/cleaner library 的 Symfony 扩展包
v0.2
2020-02-18 08:38 UTC
Requires
- php: ^7.1
- lamoda/cleaner: *
- symfony/config: ^4.0 || ^5.0
- symfony/console: ^4.0 || ^5.0
- symfony/dependency-injection: ^4.0 || ^5.0
- symfony/http-kernel: ^4.0 || ^5.0
- symfony/yaml: ^4.0 || ^5.0
Requires (Dev)
- ext-pdo_sqlite: *
- doctrine/dbal: ^2.6
- doctrine/doctrine-bundle: ^2.0
- friendsofphp/php-cs-fixer: ^2.14
- phpunit/phpunit: ^7.5
- symfony/framework-bundle: ^4.0 || ^5.0
- symfony/monolog-bridge: ^4.0 || ^5.0
- symfony/monolog-bundle: ^3.2
This package is auto-updated.
Last update: 2024-09-16 17:49:46 UTC
README
lamoda/cleaner library 的 Symfony 扩展包。
安装
- 使用 composer 安装该扩展包
$ 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
您还可以添加自己的存储清理器。为此,您需要实现 Lamoda\Cleaner\CleanerInterface
并使用标签注册您的清理器
services: custom_cleaner: class: My\Custom\Implementation tags: - { name: 'lamoda_cleaner.db', alias: 'custom' }
使用方法
扩展包添加了运行清理器的命令。
运行数据库中的所有清理器
./bin/console cleaner:clear db
或仅运行其中一个
./bin/console cleaner:clear db queue