Connection::createDatabase

public Connection::createDatabase($database)

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/pgsql/Connection.php, line 280

Class

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

Namespace

Drupal\Core\Database\Driver\pgsql

Code

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

  // If the PECL intl extension is installed, use it to determine the proper
  // locale.  Otherwise, fall back to en_US.
  if (class_exists('Locale')) {
    $locale = \Locale::getDefault();
  }
  else {
    $locale = 'en_US';
  }

  try {
    // Create the database and set it as active.
    $this->connection->exec("CREATE DATABASE $database WITH TEMPLATE template0 ENCODING='utf8' LC_CTYPE='$locale.utf8' LC_COLLATE='$locale.utf8'");
  }
  catch (\Exception $e) {
    throw new DatabaseNotFoundException($e->getMessage());
  }
}
doc_Drupal
2016-10-29 08:55:44
Comments
Leave a Comment

Please login to continue.