class DbCommandBase
Base command that abstracts handling of database connection arguments.
Hierarchy
- class \Symfony\Component\Console\Command\Command
- class \Drupal\Core\Command\DbCommandBase extends \Symfony\Component\Console\Command\Command
Expanded class hierarchy of DbCommandBase
File
-
core/
lib/ Drupal/ Core/ Command/ DbCommandBase.php, line 13
Namespace
Drupal\Core\CommandView source
class DbCommandBase extends Command {
/**
* {@inheritdoc}
*/
protected function configure() : void {
$this->addOption('database', NULL, InputOption::VALUE_OPTIONAL, 'The database connection name to use.', 'default')
->addOption('database-url', 'db-url', InputOption::VALUE_OPTIONAL, 'A database url to parse and use as the database connection.')
->addOption('prefix', NULL, InputOption::VALUE_OPTIONAL, 'Override or set the table prefix used in the database connection.');
}
/**
* Parse input options decide on a database.
*
* @param \Symfony\Component\Console\Input\InputInterface $input
* Input object.
*
* @return \Drupal\Core\Database\Connection
*/
protected function getDatabaseConnection(InputInterface $input) {
// Load connection from a URL.
if ($input->getOption('database-url')) {
// @todo this could probably be refactored to not use a global connection.
// Ensure database connection isn't set.
if (Database::getConnectionInfo('db-tools')) {
throw new \RuntimeException('Database "db-tools" is already defined. Cannot define database provided.');
}
$info = Database::convertDbUrlToConnectionInfo($input->getOption('database-url'), \Drupal::root());
Database::addConnectionInfo('db-tools', 'default', $info);
$key = 'db-tools';
}
else {
$key = $input->getOption('database');
}
// If they supplied a prefix, replace it in the connection information.
$prefix = $input->getOption('prefix');
if ($prefix) {
$info = Database::getConnectionInfo($key)['default'];
$info['prefix'] = $prefix;
Database::removeConnection($key);
Database::addConnectionInfo($key, 'default', $info);
}
return Database::getConnection('default', $key);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
Command::$aliases | private | property | 1 | ||
Command::$application | private | property | |||
Command::$code | private | property | |||
Command::$definition | private | property | |||
Command::$description | private | property | 1 | ||
Command::$fullDefinition | private | property | |||
Command::$help | private | property | |||
Command::$helperSet | private | property | |||
Command::$hidden | private | property | |||
Command::$ignoreValidationErrors | private | property | 2 | ||
Command::$name | private | property | |||
Command::$processTitle | private | property | |||
Command::$synopsis | private | property | |||
Command::$usages | private | property | |||
Command::addArgument | public | function | Adds an argument. | 2 | |
Command::addOption | public | function | Adds an option. | 2 | |
Command::addUsage | public | function | Add a command usage example, it'll be prefixed with the command name. | 2 | |
Command::complete | public | function | Supplies suggestions when resolving possible completion options for input (e.g. option or argument). | 5 | |
Command::execute | protected | function | Executes the current command. | 51 | |
Command::FAILURE | public | constant | |||
Command::getAliases | public | function | Returns the aliases for the command. | ||
Command::getApplication | public | function | Gets the application instance for this command. | 2 | |
Command::getDefaultDescription | public static | function | |||
Command::getDefaultName | public static | function | |||
Command::getDefinition | public | function | Gets the InputDefinition attached to this Command. | 2 | |
Command::getDescription | public | function | Returns the description for the command. | ||
Command::getHelp | public | function | Returns the help for the command. | 2 | |
Command::getHelper | public | function | Gets a helper instance by name. | 2 | |
Command::getHelperSet | public | function | Gets the helper set. | 1 | |
Command::getName | public | function | Returns the command name. | ||
Command::getNativeDefinition | public | function | Gets the InputDefinition to be used to create representations of this Command. | 2 | |
Command::getProcessedHelp | public | function | Returns the processed help for the command replacing the %command.name% and %command.full_name% patterns with the real values dynamically. |
2 | |
Command::getSynopsis | public | function | Returns the synopsis for the command. | 2 | |
Command::getUsages | public | function | Returns alternative usages of the command. | 2 | |
Command::ignoreValidationErrors | public | function | Ignores validation errors. | 2 | |
Command::initialize | protected | function | Initializes the command after the input has been bound and before the input is validated. |
4 | |
Command::interact | protected | function | Interacts with the user. | 5 | |
Command::INVALID | public | constant | |||
Command::isEnabled | public | function | Checks whether the command is enabled or not in the current environment. | 2 | |
Command::isHidden | public | function | |||
Command::mergeApplicationDefinition | public | function | Merges the application definition with the command definition. | 2 | |
Command::run | public | function | Runs the command. | 4 | |
Command::setAliases | public | function | Sets the aliases for the command. | ||
Command::setApplication | public | function | 2 | ||
Command::setCode | public | function | Sets the code to execute when running this command. | 2 | |
Command::setDefinition | public | function | Sets an array of argument and option instances. | 2 | |
Command::setDescription | public | function | Sets the description for the command. | ||
Command::setHelp | public | function | Sets the help for the command. | 2 | |
Command::setHelperSet | public | function | 2 | ||
Command::setHidden | public | function | |||
Command::setName | public | function | Sets the name of the command. | ||
Command::setProcessTitle | public | function | Sets the process title of the command. | 2 | |
Command::SUCCESS | public | constant | |||
Command::validateName | private | function | Validates a command name. | ||
Command::__construct | public | function | 15 | ||
DbCommandBase::configure | protected | function | Configures the current command. | Overrides Command::configure | 2 |
DbCommandBase::getDatabaseConnection | protected | function | Parse input options decide on a database. |