diff --git a/src/Symfony/Bundle/DoctrineMongoDBBundle/Command/ClearMetadataCacheDoctrineODMCommand.php b/src/Symfony/Bundle/DoctrineMongoDBBundle/Command/ClearMetadataCacheDoctrineODMCommand.php new file mode 100644 index 000000000000..be10a906d265 --- /dev/null +++ b/src/Symfony/Bundle/DoctrineMongoDBBundle/Command/ClearMetadataCacheDoctrineODMCommand.php @@ -0,0 +1,54 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Bundle\DoctrineMongoDBBundle\Command; + +use Symfony\Component\Console\Input\InputOption; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; +use Doctrine\ODM\MongoDB\Tools\Console\Command\ClearCache\MetadataCommand; + +/** + * Command to clear the metadata cache of the various cache drivers. + * + * @author Fabien Potencier + * @author Jonathan H. Wage + * @author Henrik Westphal + */ +class ClearMetadataCacheDoctrineODMCommand extends MetadataCommand +{ + protected function configure() + { + parent::configure(); + + $this + ->setName('doctrine:mongodb:cache:clear-metadata') + ->setDescription('Clear all metadata cache for a document manager.') + ->addOption('dm', null, InputOption::VALUE_OPTIONAL, 'The document manager to use for this command.') + ->setHelp(<<doctrine:mongodb:cache:clear-metadata command clears all metadata cache for the default document manager: + + ./app/console doctrine:mongodb:cache:clear-metadata + +You can also optionally specify the --dm option to specify which document manager to clear the cache for: + + ./app/console doctrine:mongodb:cache:clear-metadata --dm=default +EOT + ); + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + DoctrineODMCommand::setApplicationDocumentManager($this->getApplication(), $input->getOption('dm')); + + return parent::execute($input, $output); + } +} \ No newline at end of file