diff -r 000000000000 -r 7f95f8617b0b vendor/symfony/src/Symfony/Bundle/DoctrineBundle/Command/Proxy/ClearResultCacheDoctrineCommand.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/symfony/src/Symfony/Bundle/DoctrineBundle/Command/Proxy/ClearResultCacheDoctrineCommand.php Sat Sep 24 15:40:41 2011 +0200 @@ -0,0 +1,70 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Bundle\DoctrineBundle\Command\Proxy; + +use Symfony\Component\Console\Input\InputOption; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; +use Doctrine\ORM\Tools\Console\Command\ClearCache\ResultCommand; + +/** + * Command to clear the result cache of the various cache drivers. + * + * @author Fabien Potencier + * @author Jonathan H. Wage + */ +class ClearResultCacheDoctrineCommand extends ResultCommand +{ + protected function configure() + { + parent::configure(); + + $this + ->setName('doctrine:cache:clear-result') + ->setDescription('Clear result cache for a entity manager') + ->addOption('em', null, InputOption::VALUE_OPTIONAL, 'The entity manager to use for this command') + ->setHelp(<<doctrine:cache:clear-result command clears all result cache +for the default entity manager: + +php app/console doctrine:cache:clear-result + +You can also optionally specify the --em option to specify +which entity manager to clear the cache for: + +php app/console doctrine:cache:clear-result --em=default + +If you don't want to clear all result cache you can specify some additional +options to control what cache is deleted: + +php app/console doctrine:cache:clear-result --id=cache_key + +Or you can specify a --regex to delete cache entries that +match it: + +php app/console doctrine:cache:clear-result --regex="user_(.*)" + +You can also specify a --prefix or +--suffix to delete cache entries for: + +php app/console doctrine:cache:clear-result --prefix="user_" --suffix="_frontend" +EOT + ); + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + DoctrineCommandHelper::setApplicationEntityManager($this->getApplication(), $input->getOption('em')); + + return parent::execute($input, $output); + } +}