protected function getPortableTableEnumColumnDefinition(array $tableColumn)
    {
        $tableColumn = array_change_key_case($tableColumn, CASE_LOWER);

        $dbType = strtolower($tableColumn['type']);
        $dbType = strtok($dbType, '(), ');

        $type = $this->_platform->getDoctrineTypeMapping($dbType);

        // In cases where not connected to a database DESCRIBE $table does not return 'Comment'
        if (isset($tableColumn['comment'])) {
            $type = $this->extractDoctrineTypeFromComment($tableColumn['comment'], $type);
            $tableColumn['comment'] = $this->removeDoctrineTypeFromComment($tableColumn['comment'], $type);
        }

        $options = [
            'length'        => null,
            'unsigned'      => false,
            'fixed'         => null,
            'default'       => isset($tableColumn['default']) ? $tableColumn['default'] : null,
            'notnull'       => (bool) ($tableColumn['null'] != 'YES'),
            'scale'         => null,
            'precision'     => null,
            'autoincrement' => false,
            'comment'       => isset($tableColumn['comment']) && $tableColumn['comment'] !== ''
                ? $tableColumn['comment']
                : null,
        ];

        $column = new Column($tableColumn['field'], Type::getType($type), $options);

        if (isset($tableColumn['collation'])) {
            $column->setPlatformOption('collation', $tableColumn['collation']);
        }

        $column->setCustomSchemaOption('options', $this->getEnumOptions($tableColumn));

        return $column;
    }
protected function getPortableTableEnumColumnDefinition(array $tableColumn)
    {
        $tableColumn = array_change_key_case($tableColumn, CASE_LOWER);

        $dbType = strtolower($tableColumn['type']);
        $dbType = strtok($dbType, '(), ');

        $type = $this->_platform->getDoctrineTypeMapping($dbType);

        // In cases where not connected to a database DESCRIBE $table does not return 'Comment'
        if (isset($tableColumn['comment'])) {
            $type = $this->extractDoctrineTypeFromComment($tableColumn['comment'], $type);
            $tableColumn['comment'] = $this->removeDoctrineTypeFromComment($tableColumn['comment'], $type);
        }

        $options = [
            'length'        => null,
            'unsigned'      => false,
            'fixed'         => null,
            'default'       => isset($tableColumn['default']) ? $tableColumn['default'] : null,
            'notnull'       => (bool) ($tableColumn['null'] != 'YES'),
            'scale'         => null,
            'precision'     => null,
            'autoincrement' => false,
            'comment'       => isset($tableColumn['comment']) && $tableColumn['comment'] !== ''
                ? $tableColumn['comment']
                : null,
        ];

        $column = new Column($tableColumn['field'], Type::getType($type), $options);

        if (isset($tableColumn['collation'])) {
            $column->setPlatformOption('collation', $tableColumn['collation']);
        }

        $column->setCustomSchemaOption('options', $this->getEnumOptions($tableColumn));

        return $column;
    }
protected function getPortableTableEnumColumnDefinition ( array $ tableColumn ) { $ tableColumn = array_change_key_case ( $ tableColumn , CASE_LOWER ) ; $ dbType = strtolower ( $ tableColumn [ 'type' ] ) ; $ dbType = strtok ( $ dbType , '(), ' ) ; $ type = $ this -> _platform -> getDoctrineTypeMapping ( $ dbType ) ; // In cases where not connected to a database DESCRIBE $table does not return 'Comment' if ( isset ( $ tableColumn [ 'comment' ] ) ) { $ type = $ this -> extractDoctrineTypeFromComment ( $ tableColumn [ 'comment' ] , $ type ) ; $ tableColumn [ 'comment' ] = $ this -> removeDoctrineTypeFromComment ( $ tableColumn [ 'comment' ] , $ type ) ; } $ options = [ 'length' => null , 'unsigned' => false , 'fixed' => null , 'default' => isset ( $ tableColumn [ 'default' ] ) ? $ tableColumn [ 'default' ] : null , 'notnull' => ( bool ) ( $ tableColumn [ 'null' ] != 'YES' ) , 'scale' => null , 'precision' => null , 'autoincrement' => false , 'comment' => isset ( $ tableColumn [ 'comment' ] ) && $ tableColumn [ 'comment' ] !== '' ? $ tableColumn [ 'comment' ] : null , ] ; $ column = new Column ( $ tableColumn [ 'field' ] , Type :: getType ( $ type ) , $ options ) ; if ( isset ( $ tableColumn [ 'collation' ] ) ) { $ column -> setPlatformOption ( 'collation' , $ tableColumn [ 'collation' ] ) ; } $ column -> setCustomSchemaOption ( 'options' , $ this -> getEnumOptions ( $ tableColumn ) ) ; return $ column ; }
Gets Table Column Definition for Enum Column Type.

@param array $tableColumn

@return \Doctrine\DBAL\Schema\Column
Gets Table Column Definition for Enum Column Type .