protected Schema::processField($field)
Set database-engine specific properties for a field.
Parameters
$field: A field description array, as specified in the schema documentation.
File
- core/lib/Drupal/Core/Database/Driver/sqlite/Schema.php, line 118
Class
- Schema
- SQLite implementation of \Drupal\Core\Database\Schema.
Namespace
Drupal\Core\Database\Driver\sqlite
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | protected function processField( $field ) { if (!isset( $field [ 'size' ])) { $field [ 'size' ] = 'normal' ; } // Set the correct database-engine specific datatype. // In case one is already provided, force it to uppercase. if (isset( $field [ 'sqlite_type' ])) { $field [ 'sqlite_type' ] = Unicode:: strtoupper ( $field [ 'sqlite_type' ]); } else { $map = $this ->getFieldTypeMap(); $field [ 'sqlite_type' ] = $map [ $field [ 'type' ] . ':' . $field [ 'size' ]]; // Numeric fields with a specified scale have to be stored as floats. if ( $field [ 'sqlite_type' ] === 'NUMERIC' && isset( $field [ 'scale' ])) { $field [ 'sqlite_type' ] = 'FLOAT' ; } } if (isset( $field [ 'type' ]) && $field [ 'type' ] == 'serial' ) { $field [ 'auto_increment' ] = TRUE; } return $field ; } |
Please login to continue.