function DbDumpCommand::fieldTypeMap

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Command/DbDumpCommand.php \Drupal\Core\Command\DbDumpCommand::fieldTypeMap()
  2. 8.9.x core/lib/Drupal/Core/Command/DbDumpCommand.php \Drupal\Core\Command\DbDumpCommand::fieldTypeMap()
  3. 10 core/lib/Drupal/Core/Command/DbDumpCommand.php \Drupal\Core\Command\DbDumpCommand::fieldTypeMap()

Given a database field type, return a Drupal type.

Parameters

\Drupal\Core\Database\Connection $connection: The database connection to use.

string $type: The MySQL field type.

Return value

string The Drupal schema field type. If there is no mapping, the original field type is returned.

1 call to DbDumpCommand::fieldTypeMap()
DbDumpCommand::getTableSchema in core/lib/Drupal/Core/Command/DbDumpCommand.php
Returns a schema array for a given table.

File

core/lib/Drupal/Core/Command/DbDumpCommand.php, line 327

Class

DbDumpCommand
Provides a command to dump the current database to a script.

Namespace

Drupal\Core\Command

Code

protected function fieldTypeMap(Connection $connection, $type) {
    // Convert everything to lowercase.
    $map = array_map('strtolower', $connection->schema()
        ->getFieldTypeMap());
    $map = array_flip($map);
    // The MySql map contains type:size. Remove the size part.
    return isset($map[$type]) ? explode(':', $map[$type])[0] : $type;
}

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