W3cubDocs

/Drupal 8

public function 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 277

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());
  }
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Database!Driver!pgsql!Connection.php/function/Connection::createDatabase/8.1.x