You are here

public function Connection::createDatabase in Drupal 8

Same name in this branch
  1. 8 core/lib/Drupal/Core/Database/Connection.php \Drupal\Core\Database\Connection::createDatabase()
  2. 8 core/tests/fixtures/database_drivers/custom/fake/Connection.php \Drupal\Driver\Database\fake\Connection::createDatabase()
  3. 8 core/lib/Drupal/Core/Database/Driver/sqlite/Connection.php \Drupal\Core\Database\Driver\sqlite\Connection::createDatabase()
  4. 8 core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php \Drupal\Core\Database\Driver\pgsql\Connection::createDatabase()
  5. 8 core/lib/Drupal/Core/Database/Driver/mysql/Connection.php \Drupal\Core\Database\Driver\mysql\Connection::createDatabase()
Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Database/Driver/mysql/Connection.php \Drupal\Core\Database\Driver\mysql\Connection::createDatabase()

Overrides \Drupal\Core\Database\Connection::createDatabase().

Parameters

string $database: The name of the database to create.

Throws

\Drupal\Core\Database\DatabaseNotFoundException

Overrides Connection::createDatabase

File

core/lib/Drupal/Core/Database/Driver/mysql/Connection.php, line 561

Class

Connection
MySQL implementation of \Drupal\Core\Database\Connection.

Namespace

Drupal\Core\Database\Driver\mysql

Code

public function createDatabase($database) {

  // Escape the database name.
  $database = Database::getConnection()
    ->escapeDatabase($database);
  try {

    // Create the database and set it as active.
    $this->connection
      ->exec("CREATE DATABASE {$database}");
    $this->connection
      ->exec("USE {$database}");
  } catch (\Exception $e) {
    throw new DatabaseNotFoundException($e
      ->getMessage());
  }
}