MySQLSchemaManager extends MySQLSchemaManager uses CustomDoctrineTypesColumnDefinitionTrait, ColumnTypeCommentMethodsTrait
Extending the doctrine MySQLSchemaManager to integrate additional processing stuff due to the dropped event system with `doctrine/dbal 4.x`.
For example, this is used to process custom doctrine types.
Platform specific SchemaManager are extended to manipulate the schema handling. TYPO3 needs to
do that to provide additional doctrine type handling and other workarounds or alignments. Long
time this have been done by using the doctrine EventManager
to hook into several places, which
no longer exists.
Note: MySQLSchemaManager is used for MySQL and MariaDB. Even doctrine/dbal 4.0 provides no dedicated schema manager for doctrine/dbal 4.0. Keep this in mind.
not part of the public Core API.
Tags
Table of Contents
Methods
- _getPortableTableColumnDefinition() : Column
- Gets Table Column Definition.
- _getPortableTableIndexesList() : array<string, Index>
- getDatabaseType() : string
- Extract the field type from the definition string
- getMySQLTextAndBlobColumnDefault() : string|null
- getUnquotedEnumerationValues() : array<string|int, mixed>
- normalizeTableColumnData() : array<string, mixed>
- processCustomDoctrineTypesColumnDefinition() : Column|null
- This method is used to handle additional processing for custom doctrine types.
Methods
_getPortableTableColumnDefinition()
Gets Table Column Definition.
protected
_getPortableTableColumnDefinition(array<string, mixed> $tableColumn) : Column
Parameters
- $tableColumn : array<string, mixed>
Return values
Column_getPortableTableIndexesList()
protected
_getPortableTableIndexesList(array<int, array<string, mixed>> $tableIndexes, string $tableName) : array<string, Index>
Parameters
- $tableIndexes : array<int, array<string, mixed>>
- $tableName : string
Return values
array<string, Index>getDatabaseType()
Extract the field type from the definition string
protected
getDatabaseType(string $typeDefinition) : string
Parameters
- $typeDefinition : string
Return values
stringgetMySQLTextAndBlobColumnDefault()
protected
getMySQLTextAndBlobColumnDefault(string|null $columnDefault) : string|null
Parameters
- $columnDefault : string|null
Return values
string|nullgetUnquotedEnumerationValues()
protected
getUnquotedEnumerationValues(string $typeDefinition) : array<string|int, mixed>
Parameters
- $typeDefinition : string
Return values
array<string|int, mixed>normalizeTableColumnData()
protected
normalizeTableColumnData(array<string, mixed> $tableColumn, MariaDBPlatform|MySQLPlatform $platform) : array<string, mixed>
Parameters
- $tableColumn : array<string, mixed>
- $platform : MariaDBPlatform|MySQLPlatform
Return values
array<string, mixed>processCustomDoctrineTypesColumnDefinition()
This method is used to handle additional processing for custom doctrine types.
protected
processCustomDoctrineTypesColumnDefinition(array<string|int, mixed> $tableColumn, AbstractPlatform $platform) : Column|null
Note: doctrine/dbal
dropped the event listener system, and this replaces the
used onSchemaColumnDefinition()
event lower than doctrine/dbal 4.x
.
Parameters
- $tableColumn : array<string|int, mixed>
- $platform : AbstractPlatform