class SQLiteGrammar 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 columns available as 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.

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

string
compileDrop(Blueprint $blueprint, Fluent $command)

Compile a drop table command.

string
compileDropIfExists(Blueprint $blueprint, Fluent $command)

Compile a drop table (if exists) command.

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.

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

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

in Grammar at line 109
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

at line 181
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 30
string compileTableExists()

Compile the query to determine if a table exists.

Return Value

string

at line 41
string compileColumnListing(string $table)

Compile the query to determine the list of columns.

Parameters

string $table

Return Value

string

at line 53
string compileCreate(Blueprint $blueprint, Fluent $command)

Compile a create table command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 70
protected string|null addForeignKeys(Blueprint $blueprint)

Get the foreign key syntax for a table creation statement.

Parameters

Blueprint $blueprint

Return Value

string|null

at line 101
protected string getForeignKey(Fluent $foreign)

Get the SQL for the foreign key.

Parameters

Fluent $foreign

Return Value

string

at line 119
protected string|null addPrimaryKeys(Blueprint $blueprint)

Get the primary key syntax for a table creation statement.

Parameters

Blueprint $blueprint

Return Value

string|null

at line 133
array compileAdd(Blueprint $blueprint, Fluent $command)

Compile alter table commands for adding columns.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

array

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

Compile a unique key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

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

Compile a plain index key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

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

Compile a drop table command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

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

Compile a drop table (if exists) command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

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

Compile a drop column command.

Parameters

Blueprint $blueprint
Fluent $command
Connection $connection

Return Value

array

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

Compile a drop unique key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

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

Compile a drop index command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

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

Compile a rename table command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 280
string compileEnableForeignKeyConstraints()

Compile the command to enable foreign key constraints.

Return Value

string

at line 290
string compileDisableForeignKeyConstraints()

Compile the command to disable foreign key constraints.

Return Value

string

at line 301
protected string typeChar(Fluent $column)

Create the column definition for a char type.

Parameters

Fluent $column

Return Value

string

at line 312
protected string typeString(Fluent $column)

Create the column definition for a string type.

Parameters

Fluent $column

Return Value

string

at line 323
protected string typeText(Fluent $column)

Create the column definition for a text type.

Parameters

Fluent $column

Return Value

string

at line 334
protected string typeMediumText(Fluent $column)

Create the column definition for a medium text type.

Parameters

Fluent $column

Return Value

string

at line 345
protected string typeLongText(Fluent $column)

Create the column definition for a long text type.

Parameters

Fluent $column

Return Value

string

at line 356
protected string typeInteger(Fluent $column)

Create the column definition for a integer type.

Parameters

Fluent $column

Return Value

string

at line 367
protected string typeBigInteger(Fluent $column)

Create the column definition for a big integer type.

Parameters

Fluent $column

Return Value

string

at line 378
protected string typeMediumInteger(Fluent $column)

Create the column definition for a medium integer type.

Parameters

Fluent $column

Return Value

string

at line 389
protected string typeTinyInteger(Fluent $column)

Create the column definition for a tiny integer type.

Parameters

Fluent $column

Return Value

string

at line 400
protected string typeSmallInteger(Fluent $column)

Create the column definition for a small integer type.

Parameters

Fluent $column

Return Value

string

at line 411
protected string typeFloat(Fluent $column)

Create the column definition for a float type.

Parameters

Fluent $column

Return Value

string

at line 422
protected string typeDouble(Fluent $column)

Create the column definition for a double type.

Parameters

Fluent $column

Return Value

string

at line 433
protected string typeDecimal(Fluent $column)

Create the column definition for a decimal type.

Parameters

Fluent $column

Return Value

string

at line 444
protected string typeBoolean(Fluent $column)

Create the column definition for a boolean type.

Parameters

Fluent $column

Return Value

string

at line 455
protected string typeEnum(Fluent $column)

Create the column definition for an enum type.

Parameters

Fluent $column

Return Value

string

at line 466
protected string typeJson(Fluent $column)

Create the column definition for a json type.

Parameters

Fluent $column

Return Value

string

at line 477
protected string typeJsonb(Fluent $column)

Create the column definition for a jsonb type.

Parameters

Fluent $column

Return Value

string

at line 488
protected string typeDate(Fluent $column)

Create the column definition for a date type.

Parameters

Fluent $column

Return Value

string

at line 499
protected string typeDateTime(Fluent $column)

Create the column definition for a date-time type.

Parameters

Fluent $column

Return Value

string

at line 513
protected string typeDateTimeTz(Fluent $column)

Create the column definition for a date-time type.

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

Parameters

Fluent $column

Return Value

string

at line 524
protected string typeTime(Fluent $column)

Create the column definition for a time type.

Parameters

Fluent $column

Return Value

string

at line 535
protected string typeTimeTz(Fluent $column)

Create the column definition for a time type.

Parameters

Fluent $column

Return Value

string

at line 546
protected string typeTimestamp(Fluent $column)

Create the column definition for a timestamp type.

Parameters

Fluent $column

Return Value

string

at line 561
protected string typeTimestampTz(Fluent $column)

Create the column definition for a timestamp type.

Parameters

Fluent $column

Return Value

string

at line 576
protected string typeBinary(Fluent $column)

Create the column definition for a binary type.

Parameters

Fluent $column

Return Value

string

at line 587
protected string typeUuid(Fluent $column)

Create the column definition for a uuid type.

Parameters

Fluent $column

Return Value

string

at line 598
protected string typeIpAddress(Fluent $column)

Create the column definition for an IP address type.

Parameters

Fluent $column

Return Value

string

at line 609
protected string typeMacAddress(Fluent $column)

Create the column definition for a MAC address type.

Parameters

Fluent $column

Return Value

string

at line 621
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 633
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 647
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