SqlServerGrammar
class SqlServerGrammar 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. | |
protected array | $fluentCommands | The commands to be executed outside of create or alter command. | from Grammar |
protected array | $modifiers | The possible column modifiers. | |
protected array | $serials | The columns available as serials. |
Methods
static void | macro(string $name, object|callable $macro) Register a custom macro. | from Macroable |
static void | mixin(object $mixin) 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. | |
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. | from Grammar |
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 |
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 if a table exists. | |
string | compileColumnListing(string $table) Compile the query to determine the list of columns. | |
string | compileCreate(Blueprint $blueprint, Fluent $command) Compile a create table command. | |
string | compileAdd(Blueprint $blueprint, Fluent $command) Compile a column addition table 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 | compileSpatialIndex(Blueprint $blueprint, Fluent $command) Compile a spatial index key 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 | compileDropAllTables() Compile the SQL needed to drop all tables. | |
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 | 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 | typeInteger(Fluent $column) Create the column definition for an integer type. | |
string | typeBigInteger(Fluent $column) Create the column definition for a big 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 | 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 | 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. |
Details
static void macro(string $name, object|callable $macro)
Register a custom macro.
static void mixin(object $mixin)
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 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 if a table exists.
string compileColumnListing(string $table)
Compile the query to determine the list of columns.
string compileSpatialIndex(Blueprint $blueprint, Fluent $command)
Compile a spatial index key command.
string compileDropIfExists(Blueprint $blueprint, Fluent $command)
Compile a drop table (if exists) command.
string compileDropAllTables()
Compile the SQL needed to drop all tables.
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 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 typeInteger(Fluent $column)
Create the column definition for an integer type.
protected string typeBigInteger(Fluent $column)
Create the column definition for a big 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 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 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.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.7/Illuminate/Database/Schema/Grammars/SqlServerGrammar.html