lamoda/cleaner-bundle

该包已被废弃且不再维护。未建议替代包。

lamoda/cleaner 库的 Symfony 扩展包

安装次数: 6,398

依赖者: 0

建议者: 1

安全性: 0

星标: 2

关注者: 17

分支: 1

开放问题: 0

类型:symfony-bundle

1.0.0 2021-08-11 12:50 UTC

This package is auto-updated.

Last update: 2023-06-11 16:40:16 UTC


README

Build Status Scrutinizer Code Quality Code Coverage Build Status

为 lamoda/cleaner 库提供的 Symfony 扩展包。

安装

  1. 使用 composer 安装该扩展包
$ composer require lamoda/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