1 schema.inc public DatabaseSchema_mysql::getFieldTypeMap()

Returns a mapping of Backdrop schema field names to DB-native field types.

Because different field types do not map 1:1 between databases, Backdrop has its own normalized field type names. This function returns a driver-specific mapping table from Backdrop names to the native names for each database.

Return value

array: An array of Schema API field types to driver-specific field types.

Overrides DatabaseSchema::getFieldTypeMap

File

core/includes/database/mysql/schema.inc, line 217
Database schema code for MySQL database servers.

Class

DatabaseSchema_mysql

Code

public function getFieldTypeMap() {
  // Put :normal last so it gets preserved by array_flip. This makes
  // it much easier for modules (such as schema.module) to map
  // database types back into schema types.
  // $map does not use backdrop_static as its value never changes.
  static $map = array(
    'varchar:normal' => 'VARCHAR',
    'char:normal' => 'CHAR',

    'text:tiny' => 'TINYTEXT',
    'text:small' => 'TINYTEXT',
    'text:medium' => 'MEDIUMTEXT',
    'text:big' => 'LONGTEXT',
    'text:normal' => 'TEXT',

    'serial:tiny' => 'TINYINT',
    'serial:small' => 'SMALLINT',
    'serial:medium' => 'MEDIUMINT',
    'serial:big' => 'BIGINT',
    'serial:normal' => 'INT',

    'int:tiny' => 'TINYINT',
    'int:small' => 'SMALLINT',
    'int:medium' => 'MEDIUMINT',
    'int:big' => 'BIGINT',
    'int:normal' => 'INT',

    'float:tiny' => 'FLOAT',
    'float:small' => 'FLOAT',
    'float:medium' => 'FLOAT',
    'float:big' => 'DOUBLE',
    'float:normal' => 'FLOAT',

    'numeric:normal' => 'DECIMAL',

    'blob:big' => 'LONGBLOB',
    'blob:normal' => 'BLOB',

    'date:normal' => 'DATE',
    'datetime:normal' => 'DATETIME',
    'time:normal' => 'TIME',
  );
  return $map;
}