/** * Build a Doctrine column object for TYPE/TYPE columns. * * @param array $tableColumn * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform * @return \Doctrine\DBAL\Schema\Column * @throws \Doctrine\DBAL\DBALException * @todo: The $tableColumn source currently only support MySQL definition style. */ protected function getEnumerationTableColumnDefinition(array $tableColumn, AbstractPlatform $platform) : Column { $options = ['length' => $tableColumn['length'] ?: null, 'unsigned' => false, 'fixed' => false, 'default' => $tableColumn['default'] ?: null, 'notnull' => (bool) ($tableColumn['null'] !== 'YES'), 'scale' => null, 'precision' => null, 'autoincrement' => false, 'comment' => $tableColumn['comment'] ?: null]; $dbType = $this->getDatabaseType($tableColumn['type']); $doctrineType = $platform->getDoctrineTypeMapping($dbType); $column = new Column($tableColumn['field'], Type::getType($doctrineType), $options); $column->setPlatformOption('unquotedValues', $this->getUnquotedEnumerationValues($tableColumn['type'])); return $column; }
public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform) { if (!isset($fieldDeclaration['length'])) { $fieldDeclaration['length'] = 255; } $length = $fieldDeclaration['length']; if ($length > 4000) { return $platform->getDoctrineTypeMapping('longblob'); } $fixed = isset($fieldDeclaration['fixed']) ? $fieldDeclaration['fixed'] : false; return ($fixed ? 'BINARY(' : 'VARBINARY(') . $length . ')'; }
/** * Gets the SQL declaration snippet for a field of this type. * * @param array $fieldDeclaration The field declaration. * @param AbstractPlatform $platform The currently used database platform. * @return string */ public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform) { return $platform->getDoctrineTypeMapping('BLOB'); }
public function getSqlDeclaration(array $fieldDeclaration, AbstractPlatform $platform) { // return the SQL used to create your column type. To create a portable column type, use the $platform. return $platform->getDoctrineTypeMapping('bit'); }
/** * @param array $fieldDeclaration * @param AbstractPlatform $platform * @return string * @throws \Doctrine\DBAL\DBALException * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function getSqlDeclaration(array $fieldDeclaration, AbstractPlatform $platform) { return $platform->getDoctrineTypeMapping('varchar[]'); }
public function testRegisterDoctrineMappingType() { $this->_platform->registerDoctrineTypeMapping('foo', 'integer'); $this->assertEquals('integer', $this->_platform->getDoctrineTypeMapping('foo')); }
public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform) { return $platform->getDoctrineTypeMapping(static::ARRAY_INT); }