0byt3m1n1
Path:
/
home
/
mgatv524
/
www
/
edurocha
/
vendor
/
robmorgan
/
phinx
/
src
/
Phinx
/
Console
/
Command
/
[
Home
]
File: Test.php
<?php /** * Phinx * * (The MIT license) * Copyright (c) 2015 Rob Morgan * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated * documentation files (the "Software"), to * deal in the Software without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. * * @package Phinx * @subpackage Phinx\Console */ namespace Phinx\Console\Command; use Phinx\Migration\Manager\Environment; use Phinx\Util\Util; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; /** * @author Leonid Kuzmin <lndkuzmin@gmail.com> */ class Test extends AbstractCommand { /** * {@inheritdoc} */ protected function configure() { parent::configure(); $this->addOption('--environment', '-e', InputOption::VALUE_REQUIRED, 'The target environment'); $this->setName('test') ->setDescription('Verify the configuration file') ->setHelp( <<<EOT The <info>test</info> command verifies the YAML configuration file and optionally an environment <info>phinx test</info> <info>phinx test -e development</info> EOT ); } /** * Verify configuration file * * @param \Symfony\Component\Console\Input\InputInterface $input * @param \Symfony\Component\Console\Output\OutputInterface $output * @throws \RuntimeException * @throws \InvalidArgumentException * @return void */ protected function execute(InputInterface $input, OutputInterface $output) { $this->loadConfig($input, $output); $this->loadManager($input, $output); // Verify the migrations path(s) array_map( [$this, 'verifyMigrationDirectory'], Util::globAll($this->getConfig()->getMigrationPaths()) ); // Verify the seed path(s) array_map( [$this, 'verifySeedDirectory'], Util::globAll($this->getConfig()->getSeedPaths()) ); $envName = $input->getOption('environment'); if ($envName) { if (!$this->getConfig()->hasEnvironment($envName)) { throw new \InvalidArgumentException(sprintf( 'The environment "%s" does not exist', $envName )); } $output->writeln(sprintf('<info>validating environment</info> %s', $envName)); $environment = new Environment( $envName, $this->getConfig()->getEnvironment($envName) ); // validate environment connection $environment->getAdapter()->connect(); } $output->writeln('<info>success!</info>'); } }