function Schema::createTableSql
Same name in this branch
- 10 core/modules/mysql/src/Driver/Database/mysql/Schema.php \Drupal\mysql\Driver\Database\mysql\Schema::createTableSql()
- 10 core/modules/pgsql/src/Driver/Database/pgsql/Schema.php \Drupal\pgsql\Driver\Database\pgsql\Schema::createTableSql()
- 10 core/lib/Drupal/Core/Database/Schema.php \Drupal\Core\Database\Schema::createTableSql()
Same name and namespace in other branches
- 9 core/modules/sqlite/src/Driver/Database/sqlite/Schema.php \Drupal\sqlite\Driver\Database\sqlite\Schema::createTableSql()
- 9 core/modules/mysql/src/Driver/Database/mysql/Schema.php \Drupal\mysql\Driver\Database\mysql\Schema::createTableSql()
- 9 core/modules/pgsql/src/Driver/Database/pgsql/Schema.php \Drupal\pgsql\Driver\Database\pgsql\Schema::createTableSql()
- 8.9.x core/lib/Drupal/Core/Database/Driver/sqlite/Schema.php \Drupal\Core\Database\Driver\sqlite\Schema::createTableSql()
- 8.9.x core/lib/Drupal/Core/Database/Driver/mysql/Schema.php \Drupal\Core\Database\Driver\mysql\Schema::createTableSql()
- 8.9.x core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php \Drupal\Core\Database\Driver\pgsql\Schema::createTableSql()
- 11.x core/modules/sqlite/src/Driver/Database/sqlite/Schema.php \Drupal\sqlite\Driver\Database\sqlite\Schema::createTableSql()
- 11.x core/modules/mysql/src/Driver/Database/mysql/Schema.php \Drupal\mysql\Driver\Database\mysql\Schema::createTableSql()
- 11.x core/modules/pgsql/src/Driver/Database/pgsql/Schema.php \Drupal\pgsql\Driver\Database\pgsql\Schema::createTableSql()
- 11.x core/lib/Drupal/Core/Database/Schema.php \Drupal\Core\Database\Schema::createTableSql()
Generate SQL to create a new table from a Drupal schema definition.
This method should be implemented in extending classes.
@todo This method is called by Schema::createTable on the abstract class, and therefore should be defined as well on the abstract class to prevent static analysis errors. In D11, consider changing it to an abstract method, or to make it private for each driver, and ::createTable actually an abstract method here for implementation in each driver.
Parameters
string $name: The name of the table to create.
array $table: A Schema API table definition array.
Return value
array An array of SQL statements to create the table.
Overrides Schema::createTableSql
File
-
core/
modules/ sqlite/ src/ Driver/ Database/ sqlite/ Schema.php, line 49
Class
- Schema
- SQLite implementation of \Drupal\Core\Database\Schema.
Namespace
Drupal\sqlite\Driver\Database\sqliteCode
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));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.