function Schema::createTableSql

Same name in this branch
  1. 11.x core/modules/sqlite/src/Driver/Database/sqlite/Schema.php \Drupal\sqlite\Driver\Database\sqlite\Schema::createTableSql()
  2. 11.x core/modules/mysql/src/Driver/Database/mysql/Schema.php \Drupal\mysql\Driver\Database\mysql\Schema::createTableSql()
  3. 11.x core/modules/pgsql/src/Driver/Database/pgsql/Schema.php \Drupal\pgsql\Driver\Database\pgsql\Schema::createTableSql()
Same name in other branches
  1. 9 core/modules/sqlite/src/Driver/Database/sqlite/Schema.php \Drupal\sqlite\Driver\Database\sqlite\Schema::createTableSql()
  2. 9 core/modules/mysql/src/Driver/Database/mysql/Schema.php \Drupal\mysql\Driver\Database\mysql\Schema::createTableSql()
  3. 9 core/modules/pgsql/src/Driver/Database/pgsql/Schema.php \Drupal\pgsql\Driver\Database\pgsql\Schema::createTableSql()
  4. 8.9.x core/lib/Drupal/Core/Database/Driver/sqlite/Schema.php \Drupal\Core\Database\Driver\sqlite\Schema::createTableSql()
  5. 8.9.x core/lib/Drupal/Core/Database/Driver/mysql/Schema.php \Drupal\Core\Database\Driver\mysql\Schema::createTableSql()
  6. 8.9.x core/lib/Drupal/Core/Database/Driver/pgsql/Schema.php \Drupal\Core\Database\Driver\pgsql\Schema::createTableSql()
  7. 10 core/modules/sqlite/src/Driver/Database/sqlite/Schema.php \Drupal\sqlite\Driver\Database\sqlite\Schema::createTableSql()
  8. 10 core/modules/mysql/src/Driver/Database/mysql/Schema.php \Drupal\mysql\Driver\Database\mysql\Schema::createTableSql()
  9. 10 core/modules/pgsql/src/Driver/Database/pgsql/Schema.php \Drupal\pgsql\Driver\Database\pgsql\Schema::createTableSql()
  10. 10 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.

Throws

\BadMethodCallException If the method is not implemented in the concrete driver class.

1 call to Schema::createTableSql()
Schema::createTable in core/lib/Drupal/Core/Database/Schema.php
Create a new table from a Drupal table definition.
3 methods override Schema::createTableSql()
Schema::createTableSql in core/modules/sqlite/src/Driver/Database/sqlite/Schema.php
Schema::createTableSql in core/modules/mysql/src/Driver/Database/mysql/Schema.php
Schema::createTableSql in core/modules/pgsql/src/Driver/Database/pgsql/Schema.php

File

core/lib/Drupal/Core/Database/Schema.php, line 645

Class

Schema
Provides a base implementation for Database Schema.

Namespace

Drupal\Core\Database

Code

protected function createTableSql($name, $table) {
    throw new \BadMethodCallException(get_class($this) . '::createTableSql() not implemented.');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.