* (c) Doctrine Project, Benjamin Eberlei * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Doctrine\Bundle\MigrationsBundle\Command; use InvalidArgumentException; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Input\InputOption; use Doctrine\DBAL\Migrations\Tools\Console\Command\StatusCommand; /** * Command to view the status of a set of migrations. * * @author Fabien Potencier * @author Jonathan H. Wage */ class MigrationsStatusDoctrineCommand extends StatusCommand { protected function configure() { parent::configure(); $this ->setName('doctrine:migrations:status') ->addOption('db', null, InputOption::VALUE_REQUIRED, 'The database connection to use for this command.') ->addOption('em', null, InputOption::VALUE_REQUIRED, 'The entity manager to use for this command.') ->addOption('shard', null, InputOption::VALUE_REQUIRED, 'The shard connection to use for this command.') ; } public function execute(InputInterface $input, OutputInterface $output) { // EM and DB options cannot be set at same time if (null !== $input->getOption('em') && null !== $input->getOption('db')) { throw new InvalidArgumentException('Cannot set both "em" and "db" for command execution.'); } Helper\DoctrineCommandHelper::setApplicationHelper($this->getApplication(), $input); $configuration = $this->getMigrationConfiguration($input, $output); DoctrineCommand::configureMigrations($this->getApplication()->getKernel()->getContainer(), $configuration); return parent::execute($input, $output); } }