protected function Schema::createTableSql in Drupal driver for SQL Server and SQL Azure 3.0.x
Same name and namespace in other branches
- 8.2 drivers/lib/Drupal/Driver/Database/sqlsrv/Schema.php \Drupal\Driver\Database\sqlsrv\Schema::createTableSql()
- 8 drivers/lib/Drupal/Driver/Database/sqlsrv/Schema.php \Drupal\Driver\Database\sqlsrv\Schema::createTableSql()
Generate SQL to create a new table from a Drupal schema definition.
Parameters
string $name: The name of the table to create.
array $table: A Schema API table definition array.
Return value
array A collection of SQL statements to create the table.
File
- drivers/
lib/ Drupal/ Driver/ Database/ sqlsrv/ Schema.php, line 1354
Class
Namespace
Drupal\Driver\Database\sqlsrvCode
protected function createTableSql($name, array $table) {
$statements = [];
$sql_fields = [];
foreach ($table['fields'] as $field_name => $field) {
$sql_fields[] = $this
->createFieldSql($name, $field_name, $this
->processField($field));
if (isset($field['description'])) {
$statements[] = $this
->createCommentSQL($field['description'], $name, $field_name);
}
}
$sql = "CREATE TABLE {{$name}} (" . PHP_EOL;
$sql .= implode("," . PHP_EOL, $sql_fields);
$sql .= PHP_EOL . ")";
array_unshift($statements, $sql);
if (!empty($table['description'])) {
$statements[] = $this
->createCommentSql($table['description'], $name);
}
return $statements;
}