adgoal/cleaner-bundle

adgoal/cleaner library 的 Symfony 扩展包

安装次数: 3,770

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 3

类型:symfony-bundle

v0.2 2020-02-18 08:38 UTC

This package is auto-updated.

Last update: 2024-09-16 17:49:46 UTC


README

Build Status Scrutinizer Code Quality Code Coverage Build Status

lamoda/cleaner library 的 Symfony 扩展包。

安装

  1. 使用 composer 安装该扩展包
$ composer require adgoal/cleaner-bundle
  1. 启用扩展包
<?php
// config/bundles.php

return [
    // ...
    Lamoda\CleanerBundle\LamodaCleanerBundle::class => ['all' => true],
    // ...
];
  1. 为您的项目配置清理器
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