class MySqlGrammar extends Grammar

Properties

protected string $tablePrefix

The grammar table prefix.

from  Grammar
protected bool $transactions

If this Grammar supports schema changes wrapped in a transaction.

from  Grammar
protected array $modifiers

The possible column modifiers.

protected array $serials

The possible column serials.

Methods

array
wrapArray(array $values)

Wrap an array of values.

from  Grammar
string
wrapTable(Expression|string $table)

Wrap a table in keyword identifiers.

from  Grammar
string
wrap(Expression|string $value, bool $prefixAlias = false)

Wrap a value in keyword identifiers.

from  Grammar
string
wrapAliasedValue(string $value, bool $prefixAlias = false)

Wrap a value that has an alias.

from  Grammar
string
wrapSegments(array $segments)

Wrap the given value segments.

from  Grammar
string
wrapValue(string $value)

Wrap a single string in keyword identifiers.

string
columnize(array $columns)

Convert an array of column names into a delimited string.

from  Grammar
string
parameterize(array $values)

Create query parameter place-holders for an array.

from  Grammar
string
parameter(mixed $value)

Get the appropriate query parameter place-holder for a value.

from  Grammar
bool
isExpression(mixed $value)

Determine if the given value is a raw expression.

from  Grammar
string
getValue(Expression $expression)

Get the value of a raw expression.

from  Grammar
string
getDateFormat()

Get the format for database stored dates.

from  Grammar
string
getTablePrefix()

Get the grammar's table prefix.

from  Grammar
$this
setTablePrefix(string $prefix)

Set the grammar's table prefix.

from  Grammar
array
compileRenameColumn(Blueprint $blueprint, Fluent $command, Connection $connection)

Compile a rename column command.

from  Grammar
array
compileChange(Blueprint $blueprint, Fluent $command, Connection $connection)

Compile a change column command into a series of SQL statements.

from  Grammar
string
compileForeign(Blueprint $blueprint, Fluent $command)

Compile a foreign key command.

from  Grammar
array
getColumns(Blueprint $blueprint)

Compile the blueprint's column definitions.

from  Grammar
string
getType(Fluent $column)

Get the SQL for the column data type.

from  Grammar
string
addModifiers(string $sql, Blueprint $blueprint, Fluent $column)

Add the column modifiers to the definition.

from  Grammar
Fluent|null
getCommandByName(Blueprint $blueprint, string $name)

Get the primary key command if it exists on the blueprint.

from  Grammar
array
getCommandsByName(Blueprint $blueprint, string $name)

Get all of the commands with a given name.

from  Grammar
array
prefixArray(string $prefix, array $values)

Add a prefix to an array of values.

from  Grammar
string
getDefaultValue(mixed $value)

Format a value so that it can be used in "default" clauses.

from  Grammar
TableDiff
getDoctrineTableDiff(Blueprint $blueprint, AbstractSchemaManager $schema)

Create an empty Doctrine DBAL TableDiff from the Blueprint.

from  Grammar
bool
supportsSchemaTransactions()

Check if this Grammar supports schema changes wrapped in a transaction.

from  Grammar
string
compileTableExists()

Compile the query to determine the list of tables.

string
compileColumnListing()

Compile the query to determine the list of columns.

string
compileCreate(Blueprint $blueprint, Fluent $command, Connection $connection)

Compile a create table command.

string
compileCreateTable(Blueprint $blueprint, Fluent $command, Connection $connection)

Create the main create table clause.

string
compileCreateEncoding(string $sql, Connection $connection, Blueprint $blueprint)

Append the character set specifications to a command.

string
compileCreateEngine(string $sql, Connection $connection, Blueprint $blueprint)

Append the engine specifications to a command.

string
compileAdd(Blueprint $blueprint, Fluent $command)

Compile an add column command.

string
compilePrimary(Blueprint $blueprint, Fluent $command)

Compile a primary key command.

string
compileUnique(Blueprint $blueprint, Fluent $command)

Compile a unique key command.

string
compileIndex(Blueprint $blueprint, Fluent $command)

Compile a plain index key command.

string
compileKey(Blueprint $blueprint, Fluent $command, string $type)

Compile an index creation command.

string
compileDrop(Blueprint $blueprint, Fluent $command)

Compile a drop table command.

string
compileDropIfExists(Blueprint $blueprint, Fluent $command)

Compile a drop table (if exists) command.

string
compileDropColumn(Blueprint $blueprint, Fluent $command)

Compile a drop column command.

string
compileDropPrimary(Blueprint $blueprint, Fluent $command)

Compile a drop primary key command.

string
compileDropUnique(Blueprint $blueprint, Fluent $command)

Compile a drop unique key command.

string
compileDropIndex(Blueprint $blueprint, Fluent $command)

Compile a drop index command.

string
compileDropForeign(Blueprint $blueprint, Fluent $command)

Compile a drop foreign key command.

string
compileRename(Blueprint $blueprint, Fluent $command)

Compile a rename table command.

string
compileEnableForeignKeyConstraints()

Compile the command to enable foreign key constraints.

string
compileDisableForeignKeyConstraints()

Compile the command to disable foreign key constraints.

string
typeChar(Fluent $column)

Create the column definition for a char type.

string
typeString(Fluent $column)

Create the column definition for a string type.

string
typeText(Fluent $column)

Create the column definition for a text type.

string
typeMediumText(Fluent $column)

Create the column definition for a medium text type.

string
typeLongText(Fluent $column)

Create the column definition for a long text type.

string
typeBigInteger(Fluent $column)

Create the column definition for a big integer type.

string
typeInteger(Fluent $column)

Create the column definition for an integer type.

string
typeMediumInteger(Fluent $column)

Create the column definition for a medium integer type.

string
typeTinyInteger(Fluent $column)

Create the column definition for a tiny integer type.

string
typeSmallInteger(Fluent $column)

Create the column definition for a small integer type.

string
typeFloat(Fluent $column)

Create the column definition for a float type.

string
typeDouble(Fluent $column)

Create the column definition for a double type.

string
typeDecimal(Fluent $column)

Create the column definition for a decimal type.

string
typeBoolean(Fluent $column)

Create the column definition for a boolean type.

string
typeEnum(Fluent $column)

Create the column definition for an enum type.

string
typeJson(Fluent $column)

Create the column definition for a json type.

string
typeJsonb(Fluent $column)

Create the column definition for a jsonb type.

string
typeDate(Fluent $column)

Create the column definition for a date type.

string
typeDateTime(Fluent $column)

Create the column definition for a date-time type.

string
typeDateTimeTz(Fluent $column)

Create the column definition for a date-time type.

string
typeTime(Fluent $column)

Create the column definition for a time type.

string
typeTimeTz(Fluent $column)

Create the column definition for a time type.

string
typeTimestamp(Fluent $column)

Create the column definition for a timestamp type.

string
typeTimestampTz(Fluent $column)

Create the column definition for a timestamp type.

string
typeBinary(Fluent $column)

Create the column definition for a binary type.

string
typeUuid(Fluent $column)

Create the column definition for a uuid type.

string
typeIpAddress(Fluent $column)

Create the column definition for an IP address type.

string
typeMacAddress(Fluent $column)

Create the column definition for a MAC address type.

string|null
modifyVirtualAs(Blueprint $blueprint, Fluent $column)

Get the SQL for a generated virtual column modifier.

string|null
modifyStoredAs(Blueprint $blueprint, Fluent $column)

Get the SQL for a generated stored column modifier.

string|null
modifyUnsigned(Blueprint $blueprint, Fluent $column)

Get the SQL for an unsigned column modifier.

string|null
modifyCharset(Blueprint $blueprint, Fluent $column)

Get the SQL for a character set column modifier.

string|null
modifyCollate(Blueprint $blueprint, Fluent $column)

Get the SQL for a collation column modifier.

string|null
modifyNullable(Blueprint $blueprint, Fluent $column)

Get the SQL for a nullable column modifier.

string|null
modifyDefault(Blueprint $blueprint, Fluent $column)

Get the SQL for a default column modifier.

string|null
modifyIncrement(Blueprint $blueprint, Fluent $column)

Get the SQL for an auto-increment column modifier.

string|null
modifyFirst(Blueprint $blueprint, Fluent $column)

Get the SQL for a "first" column modifier.

string|null
modifyAfter(Blueprint $blueprint, Fluent $column)

Get the SQL for an "after" column modifier.

string|null
modifyComment(Blueprint $blueprint, Fluent $column)

Get the SQL for a "comment" column modifier.

Details

in Grammar at line 22
array wrapArray(array $values)

Wrap an array of values.

Parameters

array $values

Return Value

array

in Grammar at line 192
string wrapTable(Expression|string $table)

Wrap a table in keyword identifiers.

Parameters

Expression|string $table

Return Value

string

in Grammar at line 206
string wrap(Expression|string $value, bool $prefixAlias = false)

Wrap a value in keyword identifiers.

Parameters

Expression|string $value
bool $prefixAlias

Return Value

string

in Grammar at line 72
protected string wrapAliasedValue(string $value, bool $prefixAlias = false)

Wrap a value that has an alias.

Parameters

string $value
bool $prefixAlias

Return Value

string

in Grammar at line 94
protected string wrapSegments(array $segments)

Wrap the given value segments.

Parameters

array $segments

Return Value

string

at line 821
protected string wrapValue(string $value)

Wrap a single string in keyword identifiers.

Parameters

string $value

Return Value

string

in Grammar at line 124
string columnize(array $columns)

Convert an array of column names into a delimited string.

Parameters

array $columns

Return Value

string

in Grammar at line 135
string parameterize(array $values)

Create query parameter place-holders for an array.

Parameters

array $values

Return Value

string

in Grammar at line 146
string parameter(mixed $value)

Get the appropriate query parameter place-holder for a value.

Parameters

mixed $value

Return Value

string

in Grammar at line 157
bool isExpression(mixed $value)

Determine if the given value is a raw expression.

Parameters

mixed $value

Return Value

bool

in Grammar at line 168
string getValue(Expression $expression)

Get the value of a raw expression.

Parameters

Expression $expression

Return Value

string

in Grammar at line 178
string getDateFormat()

Get the format for database stored dates.

Return Value

string

in Grammar at line 188
string getTablePrefix()

Get the grammar's table prefix.

Return Value

string

in Grammar at line 199
$this setTablePrefix(string $prefix)

Set the grammar's table prefix.

Parameters

string $prefix

Return Value

$this

in Grammar at line 30
array compileRenameColumn(Blueprint $blueprint, Fluent $command, Connection $connection)

Compile a rename column command.

Parameters

Blueprint $blueprint
Fluent $command
Connection $connection

Return Value

array

in Grammar at line 45
array compileChange(Blueprint $blueprint, Fluent $command, Connection $connection)

Compile a change column command into a series of SQL statements.

Parameters

Blueprint $blueprint
Fluent $command
Connection $connection

Return Value

array

Exceptions

RuntimeException

in Grammar at line 57
string compileForeign(Blueprint $blueprint, Fluent $command)

Compile a foreign key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

in Grammar at line 96
protected array getColumns(Blueprint $blueprint)

Compile the blueprint's column definitions.

Parameters

Blueprint $blueprint

Return Value

array

in Grammar at line 118
protected string getType(Fluent $column)

Get the SQL for the column data type.

Parameters

Fluent $column

Return Value

string

in Grammar at line 131
protected string addModifiers(string $sql, Blueprint $blueprint, Fluent $column)

Add the column modifiers to the definition.

Parameters

string $sql
Blueprint $blueprint
Fluent $column

Return Value

string

in Grammar at line 149
protected Fluent|null getCommandByName(Blueprint $blueprint, string $name)

Get the primary key command if it exists on the blueprint.

Parameters

Blueprint $blueprint
string $name

Return Value

Fluent|null

in Grammar at line 165
protected array getCommandsByName(Blueprint $blueprint, string $name)

Get all of the commands with a given name.

Parameters

Blueprint $blueprint
string $name

Return Value

array

in Grammar at line 179
array prefixArray(string $prefix, array $values)

Add a prefix to an array of values.

Parameters

string $prefix
array $values

Return Value

array

in Grammar at line 219
protected string getDefaultValue(mixed $value)

Format a value so that it can be used in "default" clauses.

Parameters

mixed $value

Return Value

string

in Grammar at line 237
TableDiff getDoctrineTableDiff(Blueprint $blueprint, AbstractSchemaManager $schema)

Create an empty Doctrine DBAL TableDiff from the Blueprint.

Parameters

Blueprint $blueprint
AbstractSchemaManager $schema

Return Value

TableDiff

in Grammar at line 251
bool supportsSchemaTransactions()

Check if this Grammar supports schema changes wrapped in a transaction.

Return Value

bool

at line 33
string compileTableExists()

Compile the query to determine the list of tables.

Return Value

string

at line 43
string compileColumnListing()

Compile the query to determine the list of columns.

Return Value

string

at line 56
string compileCreate(Blueprint $blueprint, Fluent $command, Connection $connection)

Compile a create table command.

Parameters

Blueprint $blueprint
Fluent $command
Connection $connection

Return Value

string

at line 85
protected string compileCreateTable(Blueprint $blueprint, Fluent $command, Connection $connection)

Create the main create table clause.

Parameters

Blueprint $blueprint
Fluent $command
Connection $connection

Return Value

string

at line 102
protected string compileCreateEncoding(string $sql, Connection $connection, Blueprint $blueprint)

Append the character set specifications to a command.

Parameters

string $sql
Connection $connection
Blueprint $blueprint

Return Value

string

at line 133
protected string compileCreateEngine(string $sql, Connection $connection, Blueprint $blueprint)

Append the engine specifications to a command.

Parameters

string $sql
Connection $connection
Blueprint $blueprint

Return Value

string

at line 151
string compileAdd(Blueprint $blueprint, Fluent $command)

Compile an add column command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 165
string compilePrimary(Blueprint $blueprint, Fluent $command)

Compile a primary key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 179
string compileUnique(Blueprint $blueprint, Fluent $command)

Compile a unique key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 191
string compileIndex(Blueprint $blueprint, Fluent $command)

Compile a plain index key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 204
protected string compileKey(Blueprint $blueprint, Fluent $command, string $type)

Compile an index creation command.

Parameters

Blueprint $blueprint
Fluent $command
string $type

Return Value

string

at line 222
string compileDrop(Blueprint $blueprint, Fluent $command)

Compile a drop table command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 234
string compileDropIfExists(Blueprint $blueprint, Fluent $command)

Compile a drop table (if exists) command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 246
string compileDropColumn(Blueprint $blueprint, Fluent $command)

Compile a drop column command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 260
string compileDropPrimary(Blueprint $blueprint, Fluent $command)

Compile a drop primary key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 272
string compileDropUnique(Blueprint $blueprint, Fluent $command)

Compile a drop unique key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 286
string compileDropIndex(Blueprint $blueprint, Fluent $command)

Compile a drop index command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 300
string compileDropForeign(Blueprint $blueprint, Fluent $command)

Compile a drop foreign key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 314
string compileRename(Blueprint $blueprint, Fluent $command)

Compile a rename table command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 326
string compileEnableForeignKeyConstraints()

Compile the command to enable foreign key constraints.

Return Value

string

at line 336
string compileDisableForeignKeyConstraints()

Compile the command to disable foreign key constraints.

Return Value

string

at line 347
protected string typeChar(Fluent $column)

Create the column definition for a char type.

Parameters

Fluent $column

Return Value

string

at line 358
protected string typeString(Fluent $column)

Create the column definition for a string type.

Parameters

Fluent $column

Return Value

string

at line 369
protected string typeText(Fluent $column)

Create the column definition for a text type.

Parameters

Fluent $column

Return Value

string

at line 380
protected string typeMediumText(Fluent $column)

Create the column definition for a medium text type.

Parameters

Fluent $column

Return Value

string

at line 391
protected string typeLongText(Fluent $column)

Create the column definition for a long text type.

Parameters

Fluent $column

Return Value

string

at line 402
protected string typeBigInteger(Fluent $column)

Create the column definition for a big integer type.

Parameters

Fluent $column

Return Value

string

at line 413
protected string typeInteger(Fluent $column)

Create the column definition for an integer type.

Parameters

Fluent $column

Return Value

string

at line 424
protected string typeMediumInteger(Fluent $column)

Create the column definition for a medium integer type.

Parameters

Fluent $column

Return Value

string

at line 435
protected string typeTinyInteger(Fluent $column)

Create the column definition for a tiny integer type.

Parameters

Fluent $column

Return Value

string

at line 446
protected string typeSmallInteger(Fluent $column)

Create the column definition for a small integer type.

Parameters

Fluent $column

Return Value

string

at line 457
protected string typeFloat(Fluent $column)

Create the column definition for a float type.

Parameters

Fluent $column

Return Value

string

at line 468
protected string typeDouble(Fluent $column)

Create the column definition for a double type.

Parameters

Fluent $column

Return Value

string

at line 483
protected string typeDecimal(Fluent $column)

Create the column definition for a decimal type.

Parameters

Fluent $column

Return Value

string

at line 494
protected string typeBoolean(Fluent $column)

Create the column definition for a boolean type.

Parameters

Fluent $column

Return Value

string

at line 505
protected string typeEnum(Fluent $column)

Create the column definition for an enum type.

Parameters

Fluent $column

Return Value

string

at line 516
protected string typeJson(Fluent $column)

Create the column definition for a json type.

Parameters

Fluent $column

Return Value

string

at line 527
protected string typeJsonb(Fluent $column)

Create the column definition for a jsonb type.

Parameters

Fluent $column

Return Value

string

at line 538
protected string typeDate(Fluent $column)

Create the column definition for a date type.

Parameters

Fluent $column

Return Value

string

at line 549
protected string typeDateTime(Fluent $column)

Create the column definition for a date-time type.

Parameters

Fluent $column

Return Value

string

at line 560
protected string typeDateTimeTz(Fluent $column)

Create the column definition for a date-time type.

Parameters

Fluent $column

Return Value

string

at line 571
protected string typeTime(Fluent $column)

Create the column definition for a time type.

Parameters

Fluent $column

Return Value

string

at line 582
protected string typeTimeTz(Fluent $column)

Create the column definition for a time type.

Parameters

Fluent $column

Return Value

string

at line 593
protected string typeTimestamp(Fluent $column)

Create the column definition for a timestamp type.

Parameters

Fluent $column

Return Value

string

at line 608
protected string typeTimestampTz(Fluent $column)

Create the column definition for a timestamp type.

Parameters

Fluent $column

Return Value

string

at line 623
protected string typeBinary(Fluent $column)

Create the column definition for a binary type.

Parameters

Fluent $column

Return Value

string

at line 634
protected string typeUuid(Fluent $column)

Create the column definition for a uuid type.

Parameters

Fluent $column

Return Value

string

at line 645
protected string typeIpAddress(Fluent $column)

Create the column definition for an IP address type.

Parameters

Fluent $column

Return Value

string

at line 656
protected string typeMacAddress(Fluent $column)

Create the column definition for a MAC address type.

Parameters

Fluent $column

Return Value

string

at line 668
protected string|null modifyVirtualAs(Blueprint $blueprint, Fluent $column)

Get the SQL for a generated virtual column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null

at line 682
protected string|null modifyStoredAs(Blueprint $blueprint, Fluent $column)

Get the SQL for a generated stored column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null

at line 696
protected string|null modifyUnsigned(Blueprint $blueprint, Fluent $column)

Get the SQL for an unsigned column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null

at line 710
protected string|null modifyCharset(Blueprint $blueprint, Fluent $column)

Get the SQL for a character set column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null

at line 724
protected string|null modifyCollate(Blueprint $blueprint, Fluent $column)

Get the SQL for a collation column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null

at line 738
protected string|null modifyNullable(Blueprint $blueprint, Fluent $column)

Get the SQL for a nullable column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null

at line 752
protected string|null modifyDefault(Blueprint $blueprint, Fluent $column)

Get the SQL for a default column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null

at line 766
protected string|null modifyIncrement(Blueprint $blueprint, Fluent $column)

Get the SQL for an auto-increment column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null

at line 780
protected string|null modifyFirst(Blueprint $blueprint, Fluent $column)

Get the SQL for a "first" column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null

at line 794
protected string|null modifyAfter(Blueprint $blueprint, Fluent $column)

Get the SQL for an "after" column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null

at line 808
protected string|null modifyComment(Blueprint $blueprint, Fluent $column)

Get the SQL for a "comment" column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null