48 lines
1.1 KiB
PHP
48 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Doctrine\ORM\Tools\Cli\Tasks;
|
|
|
|
/**
|
|
* Task for executing arbitrary SQL that can come from a file or directly from
|
|
* the command line.
|
|
*
|
|
* @author robo
|
|
* @since 2.0
|
|
*/
|
|
class RunSqlTask extends AbstractTask
|
|
{
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
public function extendedHelp()
|
|
{
|
|
$this->getPrinter()->writeln('run-sql extended help.', 'INFO');
|
|
}
|
|
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
public function basicHelp()
|
|
{
|
|
$this->getPrinter()->writeln('run-sql basic help.', 'INFO');
|
|
}
|
|
|
|
/**
|
|
* Executes the task.
|
|
*/
|
|
public function run()
|
|
{
|
|
$args = $this->getArguments();
|
|
|
|
if (isset($args['file'])) {
|
|
//TODO
|
|
} else if (isset($args['sql'])) {
|
|
if (preg_match('/^select/i', $args['sql'])) {
|
|
$stmt = $this->_em->getConnection()->execute($args['sql']);
|
|
var_dump($stmt->fetchAll(\Doctrine\DBAL\Connection::FETCH_ASSOC));
|
|
} else {
|
|
var_dump($this->_em->getConnection()->executeUpdate($args['sql']));
|
|
}
|
|
}
|
|
}
|
|
} |