SQLiteGrammar

class SQLiteGrammar extends Grammar (View source)

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 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 getValue(Expression $expression)

Get the value of a raw expression.

from Grammar
bool isExpression(mixed $value)

Determine if the given value is 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
TableDiff getRenamedDiff(Blueprint $blueprint, Fluent $command, Column $column, AbstractSchemaManager $schema)

Get a new column instance with the new column name.

from Grammar
TableDiff setRenamedColumns(TableDiff $tableDiff, Fluent $command, Column $column)

Set the renamed columns on the table diff.

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 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
string getType(Fluent $column)

Get the SQL for the column data type.

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 compileChange(Blueprint $blueprint, Fluent $command, Connection $connection)

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

from Grammar
TableDiff|bool getChangedDiff(Blueprint $blueprint, AbstractSchemaManager $schema)

Get the Doctrine table difference for the given changes.

from Grammar
TableDiff getTableWithColumnChanges(Blueprint $blueprint, Table $table)

Get a copy of the given Doctrine table after making the column changes.

from Grammar
Column getDoctrineColumnForChange(Table $table, Fluent $fluent)

Get the Doctrine column instance for a column change.

from Grammar
array getDoctrineColumnChangeOptions(Fluent $fluent)

Get the Doctrine column change options.

from Grammar
Type getDoctrineColumnType(string $type)

Get the doctrine column type.

from Grammar
int calculateDoctrineTextLength(string $type)

Calculate the proper column length to force the Doctrine text type.

from Grammar
string|null mapFluentOptionToDoctrine(string $attribute)

Get the matching Doctrine option for a given Fluent attribute name.

from Grammar
mixed mapFluentValueToDoctrine(string $option, mixed $value)

Get the matching Doctrine value for a given Fluent attribute.

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

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 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 getValue(Expression $expression)

Get the value of a raw expression.

Parameters

Expression $expression

Return Value

string

bool isExpression(mixed $value)

Determine if the given value is a raw expression.

Parameters

mixed $value

Return Value

bool

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

protected TableDiff getRenamedDiff(Blueprint $blueprint, Fluent $command, Column $column, AbstractSchemaManager $schema)

Get a new column instance with the new column name.

Parameters

Blueprint $blueprint
Fluent $command
Column $column
AbstractSchemaManager $schema

Return Value

TableDiff

protected TableDiff setRenamedColumns(TableDiff $tableDiff, Fluent $command, Column $column)

Set the renamed columns on the table diff.

Parameters

TableDiff $tableDiff
Fluent $command
Column $column

Return Value

TableDiff

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

protected string getType(Fluent $column)

Get the SQL for the column data type.

Parameters

Fluent $column

Return Value

string

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

protected TableDiff getDoctrineTableDiff(Blueprint $blueprint, AbstractSchemaManager $schema)

Create an empty Doctrine DBAL TableDiff from the Blueprint.

Parameters

Blueprint $blueprint
AbstractSchemaManager $schema

Return Value

TableDiff

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

protected TableDiff|bool getChangedDiff(Blueprint $blueprint, AbstractSchemaManager $schema)

Get the Doctrine table difference for the given changes.

Parameters

Blueprint $blueprint
AbstractSchemaManager $schema

Return Value

TableDiff|bool

protected TableDiff getTableWithColumnChanges(Blueprint $blueprint, Table $table)

Get a copy of the given Doctrine table after making the column changes.

Parameters

Blueprint $blueprint
Table $table

Return Value

TableDiff

protected Column getDoctrineColumnForChange(Table $table, Fluent $fluent)

Get the Doctrine column instance for a column change.

Parameters

Table $table
Fluent $fluent

Return Value

Column

protected array getDoctrineColumnChangeOptions(Fluent $fluent)

Get the Doctrine column change options.

Parameters

Fluent $fluent

Return Value

array

protected Type getDoctrineColumnType(string $type)

Get the doctrine column type.

Parameters

string $type

Return Value

Type

protected int calculateDoctrineTextLength(string $type)

Calculate the proper column length to force the Doctrine text type.

Parameters

string $type

Return Value

int

protected string|null mapFluentOptionToDoctrine(string $attribute)

Get the matching Doctrine option for a given Fluent attribute name.

Parameters

string $attribute

Return Value

string|null

protected mixed mapFluentValueToDoctrine(string $option, mixed $value)

Get the matching Doctrine value for a given Fluent attribute.

Parameters

string $option
mixed $value

Return Value

mixed

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

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

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

string compileRename(Blueprint $blueprint, Fluent $command)

Compile a rename table command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

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

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

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

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.3/Illuminate/Database/Schema/Grammars/SQLiteGrammar.html