diff --git a/Command/AbstractPropelCommand.php b/Command/AbstractPropelCommand.php index 2cc79d9..5f3837f 100644 --- a/Command/AbstractPropelCommand.php +++ b/Command/AbstractPropelCommand.php @@ -388,7 +388,12 @@ EOT; { preg_match('#dbname=([a-zA-Z0-9\_]+)#', $dsn, $matches); - return $matches[1]; + if (isset($matches[1])) { + return $matches[1]; + } + + // e.g. SQLite + return null; } /** diff --git a/Command/DatabaseCreateCommand.php b/Command/DatabaseCreateCommand.php index 973e53c..7ed38fb 100644 --- a/Command/DatabaseCreateCommand.php +++ b/Command/DatabaseCreateCommand.php @@ -45,7 +45,12 @@ class DatabaseCreateCommand extends AbstractPropelCommand list($name, $config) = $this->getConnection($input, $output); $dbName = $this->parseDbName($config['connection']['dsn']); - $query = 'CREATE DATABASE '. $dbName .';'; + + if (null === $dbName) { + return $output->writeln('No database name found.'); + } else { + $query = 'CREATE DATABASE '. $dbName .';'; + } try { \Propel::setConfiguration($this->getTemporaryConfiguration($name, $config)); diff --git a/Command/DatabaseDropCommand.php b/Command/DatabaseDropCommand.php index 6bd12cd..ae2930a 100644 --- a/Command/DatabaseDropCommand.php +++ b/Command/DatabaseDropCommand.php @@ -67,7 +67,12 @@ EOT list($name, $config) = $this->getConnection($input, $output); $dbName = $this->parseDbName($config['connection']['dsn']); - $query = 'DROP DATABASE '. $dbName .';'; + + if (null === $dbName) { + return $output->writeln('No database name found.'); + } else { + $query = 'DROP DATABASE '. $dbName .';'; + } try { $connection = \Propel::getConnection($name);