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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.