You are here

public function Schema::createTableSql in Drupal 9

Same name in this branch
  1. 9 core/lib/Drupal/Core/Database/Driver/sqlite/Schema.php \Drupal\Core\Database\Driver\sqlite\Schema::createTableSql()
  2. 9 core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php \Drupal\Core\Database\Driver\pgsql\Schema::createTableSql()
  3. 9 core/lib/Drupal/Core/Database/Driver/mysql/Schema.php \Drupal\Core\Database\Driver\mysql\Schema::createTableSql()
Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Database/Driver/sqlite/Schema.php \Drupal\Core\Database\Driver\sqlite\Schema::createTableSql()

Generate SQL to create a new table from a Drupal schema definition.

Parameters

$name: The name of the table to create.

$table: A Schema API table definition array.

Return value

An array of SQL statements to create the table.

File

core/lib/Drupal/Core/Database/Driver/sqlite/Schema.php, line 55

Class

Schema
SQLite implementation of \Drupal\Core\Database\Schema.

Namespace

Drupal\Core\Database\Driver\sqlite

Code

public function createTableSql($name, $table) {
  if (!empty($table['primary key']) && is_array($table['primary key'])) {
    $this
      ->ensureNotNullPrimaryKey($table['primary key'], $table['fields']);
  }
  $sql = [];
  $sql[] = "CREATE TABLE {" . $name . "} (\n" . $this
    ->createColumnsSql($name, $table) . "\n)\n";
  return array_merge($sql, $this
    ->createIndexSql($name, $table));
}