protected function _column($field)
    {
        extract($field);
        if ($type === 'float' && $precision) {
            $use = 'numeric';
        }

        $column = $this->name($name) . ' ' . $this->_formatColumn($use, $length, $precision);

        $result = [$column];
        $result[] = $this->meta('column', $field, ['collate']);

        if (!empty($serial)) {
            $result[] = 'NOT NULL';
        } else {
            $result[] = is_bool($null) ? ($null ? 'NULL' : 'NOT NULL') : '' ;
            if ($default !== null) {
                if (is_array($default)) {
                    $operator = key($default);
                    $default = current($default);
                } else {
                    $operator = ':value';
                }
                $states = compact('field');
                $result[] = 'DEFAULT ' . $this->format($operator, $default, $states);
            }
        }
        return join(' ', array_filter($result));
    }