class SQLiteGrammar extends Grammar (View source)

Traits

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 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, 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.

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.

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.

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|null
addForeignKeys(Blueprint $blueprint)

Get the foreign key syntax for a table creation statement.

string
getForeignKey(Fluent $foreign)

Get the SQL for the foreign key.

string|null
addPrimaryKeys(Blueprint $blueprint)

Get the primary key syntax for a table creation statement.

array
compileAdd(Blueprint $blueprint, Fluent $command)

Compile alter table commands for adding columns.

string
compileUnique(Blueprint $blueprint, Fluent $command)

Compile a unique key command.

string
compileIndex(Blueprint $blueprint, Fluent $command)

Compile a plain index key command.

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
compileDropAllViews()

Compile the SQL needed to drop all views.

string
compileRebuild()

Compile the SQL needed to rebuild the database.

array
compileDropColumn(Blueprint $blueprint, Fluent $command, Connection $connection)

Compile a drop column command.

string
compileDropUnique(Blueprint $blueprint, Fluent $command)

Compile a drop unique key command.

string
compileDropIndex(Blueprint $blueprint, Fluent $command)

Compile a drop index command.

compileDropSpatialIndex(Blueprint $blueprint, Fluent $command)

Compile a drop spatial index command.

string
compileRename(Blueprint $blueprint, Fluent $command)

Compile a rename table command.

array
compileRenameIndex(Blueprint $blueprint, Fluent $command, Connection $connection)

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
compileEnableWriteableSchema()

Compile the SQL needed to enable a writable schema.

string
compileDisableWriteableSchema()

Compile the SQL needed to disable a writable schema.

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 a 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
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.

Parameters

string $name
object|callable $macro

Return Value

void

static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

static bool hasMacro(string $name)

Checks if macro is registered.

Parameters

string $name

Return Value

bool

static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

array wrapArray(array $values)

Wrap an array of values.

Parameters

array $values

Return Value

array

string wrapTable(Expression|string $table)

Wrap a table in keyword identifiers.

Parameters

Expression|string $table

Return Value

string

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

Wrap a value in keyword identifiers.

Parameters

Expression|string $value
bool $prefixAlias

Return Value

string

protected string wrapAliasedValue(string $value, bool $prefixAlias = false)

Wrap a value that has an alias.

Parameters

string $value
bool $prefixAlias

Return Value

string

protected string wrapSegments(array $segments)

Wrap the given value segments.

Parameters

array $segments

Return Value

string

protected string wrapValue(string $value)

Wrap a single string in keyword identifiers.

Parameters

string $value

Return Value

string

string columnize(array $columns)

Convert an array of column names into a delimited string.

Parameters

array $columns

Return Value

string

string parameterize(array $values)

Create query parameter place-holders for an array.

Parameters

array $values

Return Value

string

string parameter(mixed $value)

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

Parameters

mixed $value

Return Value

string

string quoteString(string|array $value)

Quote the given string literal.

Parameters

string|array $value

Return Value

string

bool isExpression(mixed $value)

Determine if the given value is a raw expression.

Parameters

mixed $value

Return Value

bool

string getValue(Expression $expression)

Get the value of a raw expression.

Parameters

Expression $expression

Return Value

string

string getDateFormat()

Get the format for database stored dates.

Return Value

string

string getTablePrefix()

Get the grammar's table prefix.

Return Value

string

$this setTablePrefix(string $prefix)

Set the grammar's table prefix.

Parameters

string $prefix

Return Value

$this

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

Compile a rename column command.

Parameters

Blueprint $blueprint
Fluent $command
Connection $connection

Return Value

array

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

string compileForeign(Blueprint $blueprint, Fluent $command)

Compile a foreign key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

protected array getColumns(Blueprint $blueprint)

Compile the blueprint's column definitions.

Parameters

Blueprint $blueprint

Return Value

array

protected string getType(Fluent $column)

Get the SQL for the column data type.

Parameters

Fluent $column

Return Value

string

protected void typeComputed(Fluent $column)

Create the column definition for a generated, computed column type.

Parameters

Fluent $column

Return Value

void

Exceptions

RuntimeException

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

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

protected array getCommandsByName(Blueprint $blueprint, string $name)

Get all of the commands with a given name.

Parameters

Blueprint $blueprint
string $name

Return Value

array

array prefixArray(string $prefix, array $values)

Add a prefix to an array of values.

Parameters

string $prefix
array $values

Return Value

array

protected string getDefaultValue(mixed $value)

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

Parameters

mixed $value

Return Value

string

TableDiff getDoctrineTableDiff(Blueprint $blueprint, AbstractSchemaManager $schema)

Create an empty Doctrine DBAL TableDiff from the Blueprint.

Parameters

Blueprint $blueprint
AbstractSchemaManager $schema

Return Value

TableDiff

array getFluentCommands()

Get the fluent commands for the grammar.

Return Value

array

bool supportsSchemaTransactions()

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

Return Value

bool

string compileTableExists()

Compile the query to determine if a table exists.

Return Value

string

string compileColumnListing(string $table)

Compile the query to determine the list of columns.

Parameters

string $table

Return Value

string

string compileCreate(Blueprint $blueprint, Fluent $command)

Compile a create table command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

protected string|null addForeignKeys(Blueprint $blueprint)

Get the foreign key syntax for a table creation statement.

Parameters

Blueprint $blueprint

Return Value

string|null

protected string getForeignKey(Fluent $foreign)

Get the SQL for the foreign key.

Parameters

Fluent $foreign

Return Value

string

protected string|null addPrimaryKeys(Blueprint $blueprint)

Get the primary key syntax for a table creation statement.

Parameters

Blueprint $blueprint

Return Value

string|null

array compileAdd(Blueprint $blueprint, Fluent $command)

Compile alter table commands for adding columns.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

array

string compileUnique(Blueprint $blueprint, Fluent $command)

Compile a unique key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compileIndex(Blueprint $blueprint, Fluent $command)

Compile a plain index key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

compileSpatialIndex(Blueprint $blueprint, Fluent $command)

Compile a spatial index key command.

Parameters

Blueprint $blueprint
Fluent $command

Exceptions

RuntimeException

string compileDrop(Blueprint $blueprint, Fluent $command)

Compile a drop table command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compileDropIfExists(Blueprint $blueprint, Fluent $command)

Compile a drop table (if exists) command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compileDropAllTables()

Compile the SQL needed to drop all tables.

Return Value

string

string compileDropAllViews()

Compile the SQL needed to drop all views.

Return Value

string

string compileRebuild()

Compile the SQL needed to rebuild the database.

Return Value

string

array compileDropColumn(Blueprint $blueprint, Fluent $command, Connection $connection)

Compile a drop column command.

Parameters

Blueprint $blueprint
Fluent $command
Connection $connection

Return Value

array

string compileDropUnique(Blueprint $blueprint, Fluent $command)

Compile a drop unique key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compileDropIndex(Blueprint $blueprint, Fluent $command)

Compile a drop index command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

compileDropSpatialIndex(Blueprint $blueprint, Fluent $command)

Compile a drop spatial index command.

Parameters

Blueprint $blueprint
Fluent $command

Exceptions

RuntimeException

string compileRename(Blueprint $blueprint, Fluent $command)

Compile a rename table command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

array compileRenameIndex(Blueprint $blueprint, Fluent $command, Connection $connection)

Compile a rename index command.

Parameters

Blueprint $blueprint
Fluent $command
Connection $connection

Return Value

array

string compileEnableForeignKeyConstraints()

Compile the command to enable foreign key constraints.

Return Value

string

string compileDisableForeignKeyConstraints()

Compile the command to disable foreign key constraints.

Return Value

string

string compileEnableWriteableSchema()

Compile the SQL needed to enable a writable schema.

Return Value

string

string compileDisableWriteableSchema()

Compile the SQL needed to disable a writable schema.

Return Value

string

protected string typeChar(Fluent $column)

Create the column definition for a char type.

Parameters

Fluent $column

Return Value

string

protected string typeString(Fluent $column)

Create the column definition for a string type.

Parameters

Fluent $column

Return Value

string

protected string typeText(Fluent $column)

Create the column definition for a text type.

Parameters

Fluent $column

Return Value

string

protected string typeMediumText(Fluent $column)

Create the column definition for a medium text type.

Parameters

Fluent $column

Return Value

string

protected string typeLongText(Fluent $column)

Create the column definition for a long text type.

Parameters

Fluent $column

Return Value

string

protected string typeInteger(Fluent $column)

Create the column definition for a integer type.

Parameters

Fluent $column

Return Value

string

protected string typeBigInteger(Fluent $column)

Create the column definition for a big integer type.

Parameters

Fluent $column

Return Value

string

protected string typeMediumInteger(Fluent $column)

Create the column definition for a medium integer type.

Parameters

Fluent $column

Return Value

string

protected string typeTinyInteger(Fluent $column)

Create the column definition for a tiny integer type.

Parameters

Fluent $column

Return Value

string

protected string typeSmallInteger(Fluent $column)

Create the column definition for a small integer type.

Parameters

Fluent $column

Return Value

string

protected string typeFloat(Fluent $column)

Create the column definition for a float type.

Parameters

Fluent $column

Return Value

string

protected string typeDouble(Fluent $column)

Create the column definition for a double type.

Parameters

Fluent $column

Return Value

string

protected string typeDecimal(Fluent $column)

Create the column definition for a decimal type.

Parameters

Fluent $column

Return Value

string

protected string typeBoolean(Fluent $column)

Create the column definition for a boolean type.

Parameters

Fluent $column

Return Value

string

protected string typeEnum(Fluent $column)

Create the column definition for an enumeration type.

Parameters

Fluent $column

Return Value

string

protected string typeJson(Fluent $column)

Create the column definition for a json type.

Parameters

Fluent $column

Return Value

string

protected string typeJsonb(Fluent $column)

Create the column definition for a jsonb type.

Parameters

Fluent $column

Return Value

string

protected string typeDate(Fluent $column)

Create the column definition for a date type.

Parameters

Fluent $column

Return Value

string

protected string typeDateTime(Fluent $column)

Create the column definition for a date-time type.

Parameters

Fluent $column

Return Value

string

protected string typeDateTimeTz(Fluent $column)

Create the column definition for a date-time (with time zone) type.

Note: "SQLite does not have a storage class set aside for storing dates and/or times."

Parameters

Fluent $column

Return Value

string

protected string typeTime(Fluent $column)

Create the column definition for a time type.

Parameters

Fluent $column

Return Value

string

protected string typeTimeTz(Fluent $column)

Create the column definition for a time (with time zone) type.

Parameters

Fluent $column

Return Value

string

protected string typeTimestamp(Fluent $column)

Create the column definition for a timestamp type.

Parameters

Fluent $column

Return Value

string

protected string typeTimestampTz(Fluent $column)

Create the column definition for a timestamp (with time zone) type.

Parameters

Fluent $column

Return Value

string

protected string typeYear(Fluent $column)

Create the column definition for a year type.

Parameters

Fluent $column

Return Value

string

protected string typeBinary(Fluent $column)

Create the column definition for a binary type.

Parameters

Fluent $column

Return Value

string

protected string typeUuid(Fluent $column)

Create the column definition for a uuid type.

Parameters

Fluent $column

Return Value

string

protected string typeIpAddress(Fluent $column)

Create the column definition for an IP address type.

Parameters

Fluent $column

Return Value

string

protected string typeMacAddress(Fluent $column)

Create the column definition for a MAC address type.

Parameters

Fluent $column

Return Value

string

string typeGeometry(Fluent $column)

Create the column definition for a spatial Geometry type.

Parameters

Fluent $column

Return Value

string

string typePoint(Fluent $column)

Create the column definition for a spatial Point type.

Parameters

Fluent $column

Return Value

string

string typeLineString(Fluent $column)

Create the column definition for a spatial LineString type.

Parameters

Fluent $column

Return Value

string

string typePolygon(Fluent $column)

Create the column definition for a spatial Polygon type.

Parameters

Fluent $column

Return Value

string

string typeGeometryCollection(Fluent $column)

Create the column definition for a spatial GeometryCollection type.

Parameters

Fluent $column

Return Value

string

string typeMultiPoint(Fluent $column)

Create the column definition for a spatial MultiPoint type.

Parameters

Fluent $column

Return Value

string

string typeMultiLineString(Fluent $column)

Create the column definition for a spatial MultiLineString type.

Parameters

Fluent $column

Return Value

string

string typeMultiPolygon(Fluent $column)

Create the column definition for a spatial MultiPolygon type.

Parameters

Fluent $column

Return Value

string

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

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

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