SQLiteGrammar

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

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

Mix another object into the class.

Parameters

object $mixin

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

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