MySqlGrammar
class MySqlGrammar extends Grammar (View source)
Traits
Macroable |
Properties
static protected array | $macros | The registered string macros. | from Macroable |
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 | $fluentCommands | The commands to be executed outside of create or alter command. | from Grammar |
protected string[] | $modifiers | The possible column modifiers. | |
protected string[] | $serials | The possible column serials. |
Methods
static void | macro(string $name, object|callable $macro) Register a custom macro. | from Macroable |
static void | mixin(object $mixin, bool $replace = true) Mix another object into the class. | from Macroable |
static bool | hasMacro(string $name) Checks if macro is registered. | from Macroable |
static mixed | __callStatic(string $method, array $parameters) Dynamically handle calls to the class. | from Macroable |
mixed | __call(string $method, array $parameters) Dynamically handle calls to the class. | from Macroable |
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 |
string | quoteString(string|array $value) Quote the given string literal. | 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 |
void | typeComputed(Fluent $column) Create the column definition for a generated, computed column type. | |
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 |
array | getFluentCommands() Get the fluent commands for the grammar. | 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. | |
array | compileCreate(Blueprint $blueprint, Fluent $command, Connection $connection) Compile a create table command. | |
array | 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. | |
array | compileAdd(Blueprint $blueprint, Fluent $command) Compile an add column command. | |
array | compileAutoIncrementStartingValues(Blueprint $blueprint) Compile the auto incrementing column starting values. | |
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 | compileSpatialIndex(Blueprint $blueprint, Fluent $command) Compile a spatial 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 | compileDropSpatialIndex(Blueprint $blueprint, Fluent $command) Compile a drop spatial 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 | compileRenameIndex(Blueprint $blueprint, Fluent $command) Compile a rename index command. | |
string | compileDropAllTables(array $tables) Compile the SQL needed to drop all tables. | |
string | compileDropAllViews(array $views) Compile the SQL needed to drop all views. | |
string | compileGetAllTables() Compile the SQL needed to retrieve all table names. | |
string | compileGetAllViews() Compile the SQL needed to retrieve all view names. | |
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 enumeration type. | |
string | typeSet(Fluent $column) Create the column definition for a set enumeration 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 (with time zone) type. | |
string | typeTime(Fluent $column) Create the column definition for a time type. | |
string | typeTimeTz(Fluent $column) Create the column definition for a time (with time zone) type. | |
string | typeTimestamp(Fluent $column) Create the column definition for a timestamp type. | |
string | typeTimestampTz(Fluent $column) Create the column definition for a timestamp (with time zone) type. | |
string | typeYear(Fluent $column) Create the column definition for a year 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 | typeGeometry(Fluent $column) Create the column definition for a spatial Geometry type. | |
string | typePoint(Fluent $column) Create the column definition for a spatial Point type. | |
string | typeLineString(Fluent $column) Create the column definition for a spatial LineString type. | |
string | typePolygon(Fluent $column) Create the column definition for a spatial Polygon type. | |
string | typeGeometryCollection(Fluent $column) Create the column definition for a spatial GeometryCollection type. | |
string | typeMultiPoint(Fluent $column) Create the column definition for a spatial MultiPoint type. | |
string | typeMultiLineString(Fluent $column) Create the column definition for a spatial MultiLineString type. | |
string | typeMultiPolygon(Fluent $column) Create the column definition for a spatial MultiPolygon 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. | |
string|null | modifySrid(Blueprint $blueprint, Fluent $column) Get the SQL for a SRID column modifier. |
Details
static void macro(string $name, object|callable $macro)
Register a custom macro.
static void mixin(object $mixin, bool $replace = true)
Mix another object into the class.
static bool hasMacro(string $name)
Checks if macro is registered.
static mixed __callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
mixed __call(string $method, array $parameters)
Dynamically handle calls to the class.
array wrapArray(array $values)
Wrap an array of values.
string wrapTable(Expression|string $table)
Wrap a table in keyword identifiers.
string wrap(Expression|string $value, bool $prefixAlias = false)
Wrap a value in keyword identifiers.
protected string wrapAliasedValue(string $value, bool $prefixAlias = false)
Wrap a value that has an alias.
protected string wrapSegments(array $segments)
Wrap the given value segments.
protected 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.
string parameterize(array $values)
Create query parameter place-holders for an array.
string parameter(mixed $value)
Get the appropriate query parameter place-holder for a value.
string quoteString(string|array $value)
Quote the given string literal.
bool isExpression(mixed $value)
Determine if the given value is a raw expression.
string getValue(Expression $expression)
Get the value of a raw expression.
string getDateFormat()
Get the format for database stored dates.
string getTablePrefix()
Get the grammar's table prefix.
$this setTablePrefix(string $prefix)
Set the grammar's table prefix.
array compileRenameColumn(Blueprint $blueprint, Fluent $command, Connection $connection)
Compile a rename column command.
array compileChange(Blueprint $blueprint, Fluent $command, Connection $connection)
Compile a change column command into a series of SQL statements.
protected array getColumns(Blueprint $blueprint)
Compile the blueprint's column definitions.
protected string getType(Fluent $column)
Get the SQL for the column data type.
protected void typeComputed(Fluent $column)
Create the column definition for a generated, computed column type.
protected string addModifiers(string $sql, Blueprint $blueprint, Fluent $column)
Add the column modifiers to the definition.
protected Fluent|null getCommandByName(Blueprint $blueprint, string $name)
Get the primary key command if it exists on the blueprint.
protected array getCommandsByName(Blueprint $blueprint, string $name)
Get all of the commands with a given name.
array prefixArray(string $prefix, array $values)
Add a prefix to an array of values.
protected string getDefaultValue(mixed $value)
Format a value so that it can be used in "default" clauses.
TableDiff getDoctrineTableDiff(Blueprint $blueprint, AbstractSchemaManager $schema)
Create an empty Doctrine DBAL TableDiff from the Blueprint.
array getFluentCommands()
Get the fluent commands for the grammar.
bool supportsSchemaTransactions()
Check if this Grammar supports schema changes wrapped in a transaction.
string compileTableExists()
Compile the query to determine the list of tables.
string compileColumnListing()
Compile the query to determine the list of columns.
array compileCreate(Blueprint $blueprint, Fluent $command, Connection $connection)
Compile a create table command.
protected array compileCreateTable(Blueprint $blueprint, Fluent $command, Connection $connection)
Create the main create table clause.
protected string compileCreateEncoding(string $sql, Connection $connection, Blueprint $blueprint)
Append the character set specifications to a command.
protected string compileCreateEngine(string $sql, Connection $connection, Blueprint $blueprint)
Append the engine specifications to a command.
array compileAutoIncrementStartingValues(Blueprint $blueprint)
Compile the auto incrementing column starting values.
string compileSpatialIndex(Blueprint $blueprint, Fluent $command)
Compile a spatial index key command.
protected string compileKey(Blueprint $blueprint, Fluent $command, string $type)
Compile an index creation command.
string compileDropIfExists(Blueprint $blueprint, Fluent $command)
Compile a drop table (if exists) command.
string compileDropPrimary(Blueprint $blueprint, Fluent $command)
Compile a drop primary key command.
string compileDropSpatialIndex(Blueprint $blueprint, Fluent $command)
Compile a drop spatial index command.
string compileDropForeign(Blueprint $blueprint, Fluent $command)
Compile a drop foreign key command.
string compileDropAllTables(array $tables)
Compile the SQL needed to drop all tables.
string compileDropAllViews(array $views)
Compile the SQL needed to drop all views.
string compileGetAllTables()
Compile the SQL needed to retrieve all table names.
string compileGetAllViews()
Compile the SQL needed to retrieve all view names.
string compileEnableForeignKeyConstraints()
Compile the command to enable foreign key constraints.
string compileDisableForeignKeyConstraints()
Compile the command to disable foreign key constraints.
protected string typeChar(Fluent $column)
Create the column definition for a char type.
protected string typeString(Fluent $column)
Create the column definition for a string type.
protected string typeText(Fluent $column)
Create the column definition for a text type.
protected string typeMediumText(Fluent $column)
Create the column definition for a medium text type.
protected string typeLongText(Fluent $column)
Create the column definition for a long text type.
protected string typeBigInteger(Fluent $column)
Create the column definition for a big integer type.
protected string typeInteger(Fluent $column)
Create the column definition for an integer type.
protected string typeMediumInteger(Fluent $column)
Create the column definition for a medium integer type.
protected string typeTinyInteger(Fluent $column)
Create the column definition for a tiny integer type.
protected string typeSmallInteger(Fluent $column)
Create the column definition for a small integer type.
protected string typeFloat(Fluent $column)
Create the column definition for a float type.
protected string typeDouble(Fluent $column)
Create the column definition for a double type.
protected string typeDecimal(Fluent $column)
Create the column definition for a decimal type.
protected string typeBoolean(Fluent $column)
Create the column definition for a boolean type.
protected string typeEnum(Fluent $column)
Create the column definition for an enumeration type.
protected string typeSet(Fluent $column)
Create the column definition for a set enumeration type.
protected string typeJson(Fluent $column)
Create the column definition for a json type.
protected string typeJsonb(Fluent $column)
Create the column definition for a jsonb type.
protected string typeDate(Fluent $column)
Create the column definition for a date type.
protected string typeDateTime(Fluent $column)
Create the column definition for a date-time type.
protected string typeDateTimeTz(Fluent $column)
Create the column definition for a date-time (with time zone) type.
protected string typeTime(Fluent $column)
Create the column definition for a time type.
protected string typeTimeTz(Fluent $column)
Create the column definition for a time (with time zone) type.
protected string typeTimestamp(Fluent $column)
Create the column definition for a timestamp type.
protected string typeTimestampTz(Fluent $column)
Create the column definition for a timestamp (with time zone) type.
protected string typeYear(Fluent $column)
Create the column definition for a year type.
protected string typeBinary(Fluent $column)
Create the column definition for a binary type.
protected string typeUuid(Fluent $column)
Create the column definition for a uuid type.
protected string typeIpAddress(Fluent $column)
Create the column definition for an IP address type.
protected string typeMacAddress(Fluent $column)
Create the column definition for a MAC address type.
string typeGeometry(Fluent $column)
Create the column definition for a spatial Geometry type.
string typePoint(Fluent $column)
Create the column definition for a spatial Point type.
string typeLineString(Fluent $column)
Create the column definition for a spatial LineString type.
string typePolygon(Fluent $column)
Create the column definition for a spatial Polygon type.
string typeGeometryCollection(Fluent $column)
Create the column definition for a spatial GeometryCollection type.
string typeMultiPoint(Fluent $column)
Create the column definition for a spatial MultiPoint type.
string typeMultiLineString(Fluent $column)
Create the column definition for a spatial MultiLineString type.
string typeMultiPolygon(Fluent $column)
Create the column definition for a spatial MultiPolygon type.
protected string|null modifyVirtualAs(Blueprint $blueprint, Fluent $column)
Get the SQL for a generated virtual column modifier.
protected string|null modifyStoredAs(Blueprint $blueprint, Fluent $column)
Get the SQL for a generated stored column modifier.
protected string|null modifyUnsigned(Blueprint $blueprint, Fluent $column)
Get the SQL for an unsigned column modifier.
protected string|null modifyCharset(Blueprint $blueprint, Fluent $column)
Get the SQL for a character set column modifier.
protected string|null modifyCollate(Blueprint $blueprint, Fluent $column)
Get the SQL for a collation column modifier.
protected string|null modifyNullable(Blueprint $blueprint, Fluent $column)
Get the SQL for a nullable column modifier.
protected string|null modifyDefault(Blueprint $blueprint, Fluent $column)
Get the SQL for a default column modifier.
protected string|null modifyIncrement(Blueprint $blueprint, Fluent $column)
Get the SQL for an auto-increment column modifier.
protected string|null modifyFirst(Blueprint $blueprint, Fluent $column)
Get the SQL for a "first" column modifier.
protected string|null modifyAfter(Blueprint $blueprint, Fluent $column)
Get the SQL for an "after" column modifier.
protected string|null modifyComment(Blueprint $blueprint, Fluent $column)
Get the SQL for a "comment" column modifier.
protected string|null modifySrid(Blueprint $blueprint, Fluent $column)
Get the SQL for a SRID column modifier.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/8.x/Illuminate/Database/Schema/Grammars/MySqlGrammar.html