Laravel version update
Laravel version update
This commit is contained in:
140
vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/ImportCommand.php
vendored
Normal file
140
vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/ImportCommand.php
vendored
Normal file
@@ -0,0 +1,140 @@
|
||||
<?php
|
||||
/*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* This software consists of voluntary contributions made by many individuals
|
||||
* and is licensed under the MIT license. For more information, see
|
||||
* <http://www.doctrine-project.org>.
|
||||
*/
|
||||
|
||||
namespace Doctrine\DBAL\Tools\Console\Command;
|
||||
|
||||
use Doctrine\DBAL\Driver\PDOStatement;
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputArgument;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use const PHP_EOL;
|
||||
use function assert;
|
||||
use function file_exists;
|
||||
use function file_get_contents;
|
||||
use function is_readable;
|
||||
use function realpath;
|
||||
use function sprintf;
|
||||
|
||||
/**
|
||||
* Task for executing arbitrary SQL that can come from a file or directly from
|
||||
* the command line.
|
||||
*
|
||||
* @link www.doctrine-project.org
|
||||
* @since 2.0
|
||||
* @author Benjamin Eberlei <kontakt@beberlei.de>
|
||||
* @author Guilherme Blanco <guilhermeblanco@hotmail.com>
|
||||
* @author Jonathan Wage <jonwage@gmail.com>
|
||||
* @author Roman Borschel <roman@code-factory.org>
|
||||
*/
|
||||
class ImportCommand extends Command
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function configure()
|
||||
{
|
||||
$this
|
||||
->setName('dbal:import')
|
||||
->setDescription('Import SQL file(s) directly to Database.')
|
||||
->setDefinition([
|
||||
new InputArgument(
|
||||
'file', InputArgument::REQUIRED | InputArgument::IS_ARRAY, 'File path(s) of SQL to be executed.'
|
||||
)
|
||||
])
|
||||
->setHelp(<<<EOT
|
||||
Import SQL file(s) directly to Database.
|
||||
EOT
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function execute(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
$conn = $this->getHelper('db')->getConnection();
|
||||
|
||||
if (($fileNames = $input->getArgument('file')) !== null) {
|
||||
foreach ((array) $fileNames as $fileName) {
|
||||
$filePath = realpath($fileName);
|
||||
|
||||
// Phar compatibility.
|
||||
if (false === $filePath) {
|
||||
$filePath = $fileName;
|
||||
}
|
||||
|
||||
if ( ! file_exists($filePath)) {
|
||||
throw new \InvalidArgumentException(
|
||||
sprintf("SQL file '<info>%s</info>' does not exist.", $filePath)
|
||||
);
|
||||
} elseif ( ! is_readable($filePath)) {
|
||||
throw new \InvalidArgumentException(
|
||||
sprintf("SQL file '<info>%s</info>' does not have read permissions.", $filePath)
|
||||
);
|
||||
}
|
||||
|
||||
$output->write(sprintf("Processing file '<info>%s</info>'... ", $filePath));
|
||||
$sql = file_get_contents($filePath);
|
||||
|
||||
if ($conn instanceof \Doctrine\DBAL\Driver\PDOConnection) {
|
||||
// PDO Drivers
|
||||
try {
|
||||
$lines = 0;
|
||||
|
||||
$stmt = $conn->prepare($sql);
|
||||
assert($stmt instanceof PDOStatement);
|
||||
|
||||
$stmt->execute();
|
||||
|
||||
do {
|
||||
// Required due to "MySQL has gone away!" issue
|
||||
$stmt->fetch();
|
||||
$stmt->closeCursor();
|
||||
|
||||
$lines++;
|
||||
} while ($stmt->nextRowset());
|
||||
|
||||
$output->write(sprintf('%d statements executed!', $lines) . PHP_EOL);
|
||||
} catch (\PDOException $e) {
|
||||
$output->write('error!' . PHP_EOL);
|
||||
|
||||
throw new \RuntimeException($e->getMessage(), $e->getCode(), $e);
|
||||
}
|
||||
} else {
|
||||
// Non-PDO Drivers (ie. OCI8 driver)
|
||||
$stmt = $conn->prepare($sql);
|
||||
$rs = $stmt->execute();
|
||||
|
||||
if ($rs) {
|
||||
$output->writeln('OK!' . PHP_EOL);
|
||||
} else {
|
||||
$error = $stmt->errorInfo();
|
||||
|
||||
$output->write('error!' . PHP_EOL);
|
||||
|
||||
throw new \RuntimeException($error[2], $error[0]);
|
||||
}
|
||||
|
||||
$stmt->closeCursor();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
180
vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/ReservedWordsCommand.php
vendored
Normal file
180
vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/ReservedWordsCommand.php
vendored
Normal file
@@ -0,0 +1,180 @@
|
||||
<?php
|
||||
/*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* This software consists of voluntary contributions made by many individuals
|
||||
* and is licensed under the MIT license. For more information, see
|
||||
* <http://www.doctrine-project.org>.
|
||||
*/
|
||||
|
||||
namespace Doctrine\DBAL\Tools\Console\Command;
|
||||
|
||||
use Doctrine\DBAL\Platforms\Keywords\ReservedKeywordsValidator;
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use function array_keys;
|
||||
use function count;
|
||||
use function implode;
|
||||
|
||||
class ReservedWordsCommand extends Command
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
private $keywordListClasses = [
|
||||
'mysql' => 'Doctrine\DBAL\Platforms\Keywords\MySQLKeywords',
|
||||
'mysql57' => 'Doctrine\DBAL\Platforms\Keywords\MySQL57Keywords',
|
||||
'mysql80' => 'Doctrine\DBAL\Platforms\Keywords\MySQL80Keywords',
|
||||
'sqlserver' => 'Doctrine\DBAL\Platforms\Keywords\SQLServerKeywords',
|
||||
'sqlserver2005' => 'Doctrine\DBAL\Platforms\Keywords\SQLServer2005Keywords',
|
||||
'sqlserver2008' => 'Doctrine\DBAL\Platforms\Keywords\SQLServer2008Keywords',
|
||||
'sqlserver2012' => 'Doctrine\DBAL\Platforms\Keywords\SQLServer2012Keywords',
|
||||
'sqlite' => 'Doctrine\DBAL\Platforms\Keywords\SQLiteKeywords',
|
||||
'pgsql' => 'Doctrine\DBAL\Platforms\Keywords\PostgreSQLKeywords',
|
||||
'pgsql91' => 'Doctrine\DBAL\Platforms\Keywords\PostgreSQL91Keywords',
|
||||
'pgsql92' => 'Doctrine\DBAL\Platforms\Keywords\PostgreSQL92Keywords',
|
||||
'oracle' => 'Doctrine\DBAL\Platforms\Keywords\OracleKeywords',
|
||||
'db2' => 'Doctrine\DBAL\Platforms\Keywords\DB2Keywords',
|
||||
'sqlanywhere' => 'Doctrine\DBAL\Platforms\Keywords\SQLAnywhereKeywords',
|
||||
'sqlanywhere11' => 'Doctrine\DBAL\Platforms\Keywords\SQLAnywhere11Keywords',
|
||||
'sqlanywhere12' => 'Doctrine\DBAL\Platforms\Keywords\SQLAnywhere12Keywords',
|
||||
'sqlanywhere16' => 'Doctrine\DBAL\Platforms\Keywords\SQLAnywhere16Keywords',
|
||||
];
|
||||
|
||||
/**
|
||||
* If you want to add or replace a keywords list use this command.
|
||||
*
|
||||
* @param string $name
|
||||
* @param string $class
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function setKeywordListClass($name, $class)
|
||||
{
|
||||
$this->keywordListClasses[$name] = $class;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function configure()
|
||||
{
|
||||
$this
|
||||
->setName('dbal:reserved-words')
|
||||
->setDescription('Checks if the current database contains identifiers that are reserved.')
|
||||
->setDefinition([
|
||||
new InputOption(
|
||||
'list', 'l', InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'Keyword-List name.'
|
||||
)
|
||||
])
|
||||
->setHelp(<<<EOT
|
||||
Checks if the current database contains tables and columns
|
||||
with names that are identifiers in this dialect or in other SQL dialects.
|
||||
|
||||
By default SQLite, MySQL, PostgreSQL, Microsoft SQL Server, Oracle
|
||||
and SQL Anywhere keywords are checked:
|
||||
|
||||
<info>%command.full_name%</info>
|
||||
|
||||
If you want to check against specific dialects you can
|
||||
pass them to the command:
|
||||
|
||||
<info>%command.full_name% -l mysql -l pgsql</info>
|
||||
|
||||
The following keyword lists are currently shipped with Doctrine:
|
||||
|
||||
* mysql
|
||||
* mysql57
|
||||
* mysql80
|
||||
* pgsql
|
||||
* pgsql92
|
||||
* sqlite
|
||||
* oracle
|
||||
* sqlserver
|
||||
* sqlserver2005
|
||||
* sqlserver2008
|
||||
* sqlserver2012
|
||||
* sqlanywhere
|
||||
* sqlanywhere11
|
||||
* sqlanywhere12
|
||||
* sqlanywhere16
|
||||
* db2 (Not checked by default)
|
||||
EOT
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function execute(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
/* @var $conn \Doctrine\DBAL\Connection */
|
||||
$conn = $this->getHelper('db')->getConnection();
|
||||
|
||||
$keywordLists = (array) $input->getOption('list');
|
||||
if ( ! $keywordLists) {
|
||||
$keywordLists = [
|
||||
'mysql',
|
||||
'mysql57',
|
||||
'mysql80',
|
||||
'pgsql',
|
||||
'pgsql92',
|
||||
'sqlite',
|
||||
'oracle',
|
||||
'sqlserver',
|
||||
'sqlserver2005',
|
||||
'sqlserver2008',
|
||||
'sqlserver2012',
|
||||
'sqlanywhere',
|
||||
'sqlanywhere11',
|
||||
'sqlanywhere12',
|
||||
'sqlanywhere16',
|
||||
];
|
||||
}
|
||||
|
||||
$keywords = [];
|
||||
foreach ($keywordLists as $keywordList) {
|
||||
if (!isset($this->keywordListClasses[$keywordList])) {
|
||||
throw new \InvalidArgumentException(
|
||||
"There exists no keyword list with name '" . $keywordList . "'. ".
|
||||
"Known lists: " . implode(", ", array_keys($this->keywordListClasses))
|
||||
);
|
||||
}
|
||||
$class = $this->keywordListClasses[$keywordList];
|
||||
$keywords[] = new $class;
|
||||
}
|
||||
|
||||
$output->write('Checking keyword violations for <comment>' . implode(", ", $keywordLists) . "</comment>...", true);
|
||||
|
||||
/* @var $schema \Doctrine\DBAL\Schema\Schema */
|
||||
$schema = $conn->getSchemaManager()->createSchema();
|
||||
$visitor = new ReservedKeywordsValidator($keywords);
|
||||
$schema->visit($visitor);
|
||||
|
||||
$violations = $visitor->getViolations();
|
||||
if (count($violations) == 0) {
|
||||
$output->write("No reserved keywords violations have been found!", true);
|
||||
} else {
|
||||
$output->write('There are <error>' . count($violations) . '</error> reserved keyword violations in your database schema:', true);
|
||||
foreach ($violations as $violation) {
|
||||
$output->write(' - ' . $violation, true);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
88
vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/RunSqlCommand.php
vendored
Normal file
88
vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/RunSqlCommand.php
vendored
Normal file
@@ -0,0 +1,88 @@
|
||||
<?php
|
||||
/*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* This software consists of voluntary contributions made by many individuals
|
||||
* and is licensed under the MIT license. For more information, see
|
||||
* <http://www.doctrine-project.org>.
|
||||
*/
|
||||
|
||||
namespace Doctrine\DBAL\Tools\Console\Command;
|
||||
|
||||
use Doctrine\DBAL\Tools\Dumper;
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputArgument;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
use function is_numeric;
|
||||
use function stripos;
|
||||
|
||||
/**
|
||||
* Task for executing arbitrary SQL that can come from a file or directly from
|
||||
* the command line.
|
||||
*
|
||||
* @link www.doctrine-project.org
|
||||
* @since 2.0
|
||||
* @author Benjamin Eberlei <kontakt@beberlei.de>
|
||||
* @author Guilherme Blanco <guilhermeblanco@hotmail.com>
|
||||
* @author Jonathan Wage <jonwage@gmail.com>
|
||||
* @author Roman Borschel <roman@code-factory.org>
|
||||
*/
|
||||
class RunSqlCommand extends Command
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function configure()
|
||||
{
|
||||
$this
|
||||
->setName('dbal:run-sql')
|
||||
->setDescription('Executes arbitrary SQL directly from the command line.')
|
||||
->setDefinition([
|
||||
new InputArgument('sql', InputArgument::REQUIRED, 'The SQL statement to execute.'),
|
||||
new InputOption('depth', null, InputOption::VALUE_REQUIRED, 'Dumping depth of result set.', 7),
|
||||
new InputOption('force-fetch', null, InputOption::VALUE_NONE, 'Forces fetching the result.'),
|
||||
])
|
||||
->setHelp(<<<EOT
|
||||
Executes arbitrary SQL directly from the command line.
|
||||
EOT
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function execute(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
$conn = $this->getHelper('db')->getConnection();
|
||||
|
||||
if (($sql = $input->getArgument('sql')) === null) {
|
||||
throw new \RuntimeException("Argument 'SQL' is required in order to execute this command correctly.");
|
||||
}
|
||||
|
||||
$depth = $input->getOption('depth');
|
||||
|
||||
if ( ! is_numeric($depth)) {
|
||||
throw new \LogicException("Option 'depth' must contains an integer value");
|
||||
}
|
||||
|
||||
if (stripos($sql, 'select') === 0 || $input->getOption('force-fetch')) {
|
||||
$resultSet = $conn->fetchAll($sql);
|
||||
} else {
|
||||
$resultSet = $conn->executeUpdate($sql);
|
||||
}
|
||||
|
||||
$output->write(Dumper::dump($resultSet, (int) $depth));
|
||||
}
|
||||
}
|
107
vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/ConsoleRunner.php
vendored
Normal file
107
vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/ConsoleRunner.php
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
<?php
|
||||
/*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* This software consists of voluntary contributions made by many individuals
|
||||
* and is licensed under the MIT license. For more information, see
|
||||
* <http://www.doctrine-project.org>.
|
||||
*/
|
||||
|
||||
namespace Doctrine\DBAL\Tools\Console;
|
||||
|
||||
use Doctrine\DBAL\Connection;
|
||||
use Doctrine\DBAL\Tools\Console\Command\ImportCommand;
|
||||
use Doctrine\DBAL\Tools\Console\Command\ReservedWordsCommand;
|
||||
use Doctrine\DBAL\Tools\Console\Command\RunSqlCommand;
|
||||
use Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper;
|
||||
use Doctrine\DBAL\Version;
|
||||
use Symfony\Component\Console\Application;
|
||||
use Symfony\Component\Console\Helper\HelperSet;
|
||||
|
||||
/**
|
||||
* Handles running the Console Tools inside Symfony Console context.
|
||||
*/
|
||||
class ConsoleRunner
|
||||
{
|
||||
/**
|
||||
* Create a Symfony Console HelperSet
|
||||
*
|
||||
* @param Connection $connection
|
||||
*
|
||||
* @return HelperSet
|
||||
*/
|
||||
public static function createHelperSet(Connection $connection)
|
||||
{
|
||||
return new HelperSet([
|
||||
'db' => new ConnectionHelper($connection)
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Runs console with the given helperset.
|
||||
*
|
||||
* @param \Symfony\Component\Console\Helper\HelperSet $helperSet
|
||||
* @param \Symfony\Component\Console\Command\Command[] $commands
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function run(HelperSet $helperSet, $commands = [])
|
||||
{
|
||||
$cli = new Application('Doctrine Command Line Interface', Version::VERSION);
|
||||
|
||||
$cli->setCatchExceptions(true);
|
||||
$cli->setHelperSet($helperSet);
|
||||
|
||||
self::addCommands($cli);
|
||||
|
||||
$cli->addCommands($commands);
|
||||
$cli->run();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Application $cli
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function addCommands(Application $cli)
|
||||
{
|
||||
$cli->addCommands([
|
||||
new RunSqlCommand(),
|
||||
new ImportCommand(),
|
||||
new ReservedWordsCommand(),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints the instructions to create a configuration file
|
||||
*/
|
||||
public static function printCliConfigTemplate()
|
||||
{
|
||||
echo <<<'HELP'
|
||||
You are missing a "cli-config.php" or "config/cli-config.php" file in your
|
||||
project, which is required to get the Doctrine-DBAL Console working. You can use the
|
||||
following sample as a template:
|
||||
|
||||
<?php
|
||||
use Doctrine\DBAL\Tools\Console\ConsoleRunner;
|
||||
|
||||
// replace with the mechanism to retrieve DBAL connection in your app
|
||||
$connection = getDBALConnection();
|
||||
|
||||
// You can append new commands to $commands array, if needed
|
||||
|
||||
return ConsoleRunner::createHelperSet($connection);
|
||||
|
||||
HELP;
|
||||
}
|
||||
}
|
71
vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Helper/ConnectionHelper.php
vendored
Normal file
71
vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Helper/ConnectionHelper.php
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
/*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* This software consists of voluntary contributions made by many individuals
|
||||
* and is licensed under the MIT license. For more information, see
|
||||
* <http://www.doctrine-project.org>.
|
||||
*/
|
||||
|
||||
namespace Doctrine\DBAL\Tools\Console\Helper;
|
||||
|
||||
use Symfony\Component\Console\Helper\Helper;
|
||||
use Doctrine\DBAL\Connection;
|
||||
|
||||
/**
|
||||
* Doctrine CLI Connection Helper.
|
||||
*
|
||||
* @link www.doctrine-project.org
|
||||
* @since 2.0
|
||||
* @author Benjamin Eberlei <kontakt@beberlei.de>
|
||||
* @author Guilherme Blanco <guilhermeblanco@hotmail.com>
|
||||
* @author Jonathan Wage <jonwage@gmail.com>
|
||||
* @author Roman Borschel <roman@code-factory.org>
|
||||
*/
|
||||
class ConnectionHelper extends Helper
|
||||
{
|
||||
/**
|
||||
* The Doctrine database Connection.
|
||||
*
|
||||
* @var \Doctrine\DBAL\Connection
|
||||
*/
|
||||
protected $_connection;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param \Doctrine\DBAL\Connection $connection The Doctrine database Connection.
|
||||
*/
|
||||
public function __construct(Connection $connection)
|
||||
{
|
||||
$this->_connection = $connection;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the Doctrine database Connection.
|
||||
*
|
||||
* @return \Doctrine\DBAL\Connection
|
||||
*/
|
||||
public function getConnection()
|
||||
{
|
||||
return $this->_connection;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return 'connection';
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user