| Methods |
protected
|
doModifyLimitQuery($query, $limit, $offset)
{@inheritDoc}
|
#
|
public
|
getIdentifierQuoteCharacter()
{@inheritDoc}
Deprecated
Use {@see quoteIdentifier()} to quote identifiers instead.
Overrides
|
#
|
public
|
getRegexpExpression()
{@inheritDoc}
|
#
|
public
|
getLocateExpression($str, $substr, $startPos = false)
{@inheritDoc}
Parameters
| $str |
Literal string.
|
| $substr |
Literal string to find.
|
| $startPos |
Position to start at, beginning of string by default.
|
Overrides
|
#
|
public
|
getConcatExpression()
{@inheritDoc}
|
#
|
protected
|
getDateArithmeticIntervalExpression($date, $operator, $interval, $unit)
{@inheritDoc}
Parameters
| $date |
The column or literal representing a date
to perform the arithmetic operation on.
|
| $operator |
The arithmetic operator (+ or -).
|
| $interval |
The interval that shall be calculated into the date.
|
| $unit |
The unit of the interval that shall be calculated into the date.
One of the {@see DateIntervalUnit} constants.
|
Overrides
|
#
|
public
|
getDateDiffExpression($date1, $date2)
{@inheritDoc}
|
#
|
public
|
getCurrentDatabaseExpression(): string
Returns the SQL expression which represents the currently selected database.
Returns the SQL expression which represents the currently selected database.
Implements
|
#
|
public
|
getLengthExpression($column)
{@inheritDoc}
|
#
|
public
|
getListTableConstraintsSQL($table)
|
#
|
public
|
getListTableIndexesSQL($table, $database = null)
Deprecated
The SQL used for schema introspection is an implementation detail and should not be relied upon.
Overrides
|
#
|
public
|
getListTableForeignKeysSQL(string $table, string|null $database = null): string
Deprecated
The SQL used for schema introspection is an implementation detail and should not be relied upon.
Overrides
|
#
|
protected
|
getVarcharTypeDeclarationSQLSnippet($length, $fixed)
{@inheritDoc}
|
#
|
protected
|
getBinaryTypeDeclarationSQLSnippet($length, $fixed)
{@inheritDoc}
Parameters
| $length |
The length of the column.
|
| $fixed |
Whether the column length is fixed.
|
Overrides
|
#
|
public
|
getClobTypeDeclarationSQL(array $column)
Gets the SQL snippet used to declare a CLOB column type.
TINYTEXT : 2 ^ 8 - 1 = 255
TEXT : 2 ^ 16 - 1 …
Gets the SQL snippet used to declare a CLOB column type.
TINYTEXT : 2 ^ 8 - 1 = 255
TEXT : 2 ^ 16 - 1 = 65535
MEDIUMTEXT : 2 ^ 24 - 1 = 16777215
LONGTEXT : 2 ^ 32 - 1 = 4294967295
{@inheritDoc}
Implements
|
#
|
public
|
getDateTimeTypeDeclarationSQL(array $column)
{@inheritDoc}
|
#
|
public
|
getDateTypeDeclarationSQL(array $column)
{@inheritDoc}
|
#
|
public
|
getTimeTypeDeclarationSQL(array $column)
{@inheritDoc}
|
#
|
public
|
getBooleanTypeDeclarationSQL(array $column)
{@inheritDoc}
|
#
|
public
|
prefersIdentityColumns()
{@inheritDoc}
|
#
|
public
|
supportsIdentityColumns()
{@inheritDoc}
{@inheritDoc}
MySQL supports this through AUTO_INCREMENT columns.
Overrides
|
#
|
public
|
getListTablesSQL()
Deprecated
The SQL used for schema introspection is an implementation detail and should not be relied upon.
Overrides
|
#
|
public
|
getListTableColumnsSQL($table, $database = null)
Deprecated
The SQL used for schema introspection is an implementation detail and should not be relied upon.
Overrides
|
#
|
public
|
getColumnTypeSQLSnippets(string $tableAlias = 'c'): array{string, string}
The SQL snippets required to elucidate a column type
The SQL snippets required to elucidate a column type
Returns an array of the form [column type SELECT snippet, additional JOIN statement snippet]
|
#
|
public
|
getListTableMetadataSQL(string $table, ?string $database = null): string
Deprecated
The SQL used for schema introspection is an implementation detail and should not be relied upon.
|
#
|
public
|
getCreateTablesSQL(array $tables): array
{@inheritDoc}
|
#
|
protected
|
_getCreateTableSQL($name, array $columns, array $options = [])
{@inheritDoc}
|
#
|
private
|
buildTableOptions(mixed[] $options): string
Build SQL for table options
Build SQL for table options
|
#
|
private
|
buildPartitionOptions(mixed[] $options): string
Build SQL for partition options.
Build SQL for partition options.
|
#
|
private
|
engineSupportsForeignKeys(string $engine): bool
|
#
|
public
|
getAlterTableSQL(TableDiff $diff)
{@inheritDoc}
|
#
|
protected
|
getPreAlterTableIndexForeignKeySQL(TableDiff $diff)
{@inheritDoc}
|
#
|
private
|
getPreAlterTableAlterPrimaryKeySQL(TableDiff $diff, Index $index): string[]
|
#
|
private
|
getPreAlterTableAlterIndexForeignKeySQL(TableDiff $diff): string[]
Parameters
| $diff |
The table diff to gather the SQL for.
|
Throws
|
#
|
protected
|
getPreAlterTableRenameIndexForeignKeySQL(TableDiff $diff): string[]
Parameters
| $diff |
The table diff to gather the SQL for.
|
|
#
|
private
|
getRemainingForeignKeyConstraintsRequiringRenamedIndexes(TableDiff $diff): ForeignKeyConstraint[]
Returns the remaining foreign key constraints that require one of the renamed indexes.
Returns the remaining foreign key constraints that require one of the renamed indexes.
"Remaining" here refers to the diff between the foreign keys currently defined in the associated
table and the foreign keys to be removed.
Parameters
| $diff |
The table diff to evaluate.
|
|
#
|
protected
|
getPostAlterTableIndexForeignKeySQL(TableDiff $diff)
{@inheritDoc}
|
#
|
protected
|
getPostAlterTableRenameIndexForeignKeySQL(TableDiff $diff): string[]
Parameters
| $diff |
The table diff to gather the SQL for.
|
|
#
|
protected
|
getCreateIndexSQLFlags(Index $index)
{@inheritDoc}
|
#
|
public
|
getIntegerTypeDeclarationSQL(array $column)
{@inheritDoc}
|
#
|
public
|
getBigIntTypeDeclarationSQL(array $column)
{@inheritDoc}
|
#
|
public
|
getSmallIntTypeDeclarationSQL(array $column)
{@inheritDoc}
|
#
|
public
|
getFloatDeclarationSQL(array $column)
{@inheritDoc}
|
#
|
public
|
getDecimalTypeDeclarationSQL(array $column)
{@inheritDoc}
|
#
|
private
|
getUnsignedDeclaration(mixed[] $columnDef): string
Get unsigned declaration for a column.
Get unsigned declaration for a column.
|
#
|
protected
|
_getCommonIntegerTypeDeclarationSQL(array $column)
{@inheritDoc}
|
#
|
public
|
getDropIndexSQL($index, $table = null)
{@inheritDoc}
|
#
|
protected
|
getDropPrimaryKeySQL(string $table): string
|
#
|
public
|
getDropUniqueConstraintSQL(string $name, string $tableName): string
The `ALTER TABLE ... DROP CONSTRAINT` syntax is only available as of MySQL 8.0.19.
The ALTER TABLE ... DROP CONSTRAINT syntax is only available as of MySQL 8.0.19.
Overrides
|
#
|
public
|
getSetTransactionIsolationSQL($level)
{@inheritDoc}
|
#
|
public
|
getName()
{@inheritDoc}
|
#
|
public
|
getReadLockSQL()
{@inheritDoc}
|
#
|
protected
|
initializeDoctrineTypeMappings()
{@inheritDoc}
|
#
|
public
|
getVarcharMaxLength()
{@inheritDoc}
|
#
|
public
|
getBinaryMaxLength()
{@inheritDoc}
|
#
|
protected
|
getReservedKeywordsClass()
{@inheritDoc}
Deprecated
Implement {@see createReservedKeywordsList()} instead.
Overrides
Overriden by
|
#
|
public
|
getDropTemporaryTableSQL($table)
{@inheritDoc}
{@inheritDoc}
MySQL commits a transaction implicitly when DROP TABLE is executed, however not
if DROP TEMPORARY TABLE is executed.
Overrides
|
#
|
public
|
getBlobTypeDeclarationSQL(array $column)
Gets the SQL Snippet used to declare a BLOB column type.
TINYBLOB : 2 ^ 8 - 1 = 255
BLOB : 2 ^ 16 - 1 …
Gets the SQL Snippet used to declare a BLOB column type.
TINYBLOB : 2 ^ 8 - 1 = 255
BLOB : 2 ^ 16 - 1 = 65535
MEDIUMBLOB : 2 ^ 24 - 1 = 16777215
LONGBLOB : 2 ^ 32 - 1 = 4294967295
{@inheritDoc}
Implements
|
#
|
public
|
quoteStringLiteral($str)
{@inheritDoc}
Parameters
| $str |
The literal string to be quoted.
|
Returns
The quoted literal string.
Overrides
|
#
|
public
|
getDefaultTransactionIsolationLevel()
{@inheritDoc}
Returns
The default isolation level.
Overrides
|
#
|
public
|
supportsColumnLengthIndexes(): bool
Whether the platform supports indexes with column length definitions.
Whether the platform supports indexes with column length definitions.
Overrides
|
#
|
protected
|
getDatabaseNameSQL(?string $databaseName): string
|
#
|
public
|
createSchemaManager(Connection $connection): MySQLSchemaManager
Creates the schema manager that can be used to inspect and change the underlying
database schema according to the…
Creates the schema manager that can be used to inspect and change the underlying
database schema according to the dialect of the platform.
Overrides
|
#
|
private
|
indexAssetsByLowerCaseName<T is AbstractAsset>(list<T> $assets): array<string, T>
|
#
|