class SQLiteGrammar extends Grammar

Traits

Properties

static protected array $macros

The registered string macros.

from  Macroable
protected Connection $connection

The connection used for escaping values.

from  Grammar
protected string[] $modifiers

The possible column modifiers.

protected bool $transactions

If this Grammar supports schema changes wrapped in a transaction.

from  Grammar
protected string[] $fluentCommands

The commands to be executed outside of create or alter command.

from  Grammar
protected string[] $serials

The columns available as serials.

Methods

static void
macro(string $name, callable|object $macro)

Register a custom macro.

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

Mix another object into the class.

static bool
hasMacro(string $name)

Check if macro is registered.

static void
flushMacros()

Flush the existing macros.

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

Dynamically handle calls to the class.

mixed
__call(string $method, array $parameters)

Dynamically handle calls to the class.

__construct(Connection $connection)

Create a new grammar instance.

from  Grammar
array
wrapArray(array $values)

Wrap an array of values.

from  Grammar
string
wrapTable(Expression|string $table, string|null $prefix = null)

Wrap a table in keyword identifiers.

from  Grammar
string
wrapIdentifier(string $value)

Wrap a single identifier in keyword identifiers.

from  Grammar
string|int|float
wrap(Expression|string $value)

Wrap a value in keyword identifiers.

from  Grammar
string
wrapAliasedValue(string $value)

Wrap a value that has an alias.

from  Grammar
string
wrapAliasedTable(string $value, string|null $prefix = null)

Wrap a table 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
wrapJsonSelector(string $value)

Wrap the given JSON selector.

bool
isJsonSelector(string $value)

Determine if the given string is a JSON selector.

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|int|float
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
string
escape(string|float|int|bool|null $value, bool $binary = false)

Escape a value for safe SQL embedding.

from  Grammar
bool
isExpression(mixed $value)

Determine if the given value is a raw expression.

from  Grammar
string|int|float
getValue(Expression|string|int|float $expression)

Transforms expressions to their scalar types.

from  Grammar
string
getDateFormat()

Get the format for database stored dates.

from  Grammar
static void
flushState()

Flush all static state.

from  Grammar
array
wrapJsonFieldAndPath(string $column)

Split the given JSON selector into the field and the optional path and wrap them separately.

string
wrapJsonPath(string $value, string $delimiter = '->')

Wrap the given JSON path.

string
wrapJsonPathSegment(string $segment)

Wrap the given JSON path segment.

string
compileCreateDatabase(string $name)

Compile a create database command.

from  Grammar
string
compileDropDatabaseIfExists(string $name)

Compile a drop database if exists command.

from  Grammar
string
compileSchemas()

Compile the query to determine the schemas.

string|null
compileTableExists(string|null $schema, string $table)

Compile the query to determine if the given table exists.

string
compileTables(string|array|null $schema, bool $withSize = false)

Compile the query to determine the tables.

string
compileViews(string|array|null $schema)

Compile the query to determine the views.

string
compileTypes(string|array|null $schema)

Compile the query to determine the user-defined types.

from  Grammar
string
compileColumns(string|null $schema, string $table)

Compile the query to determine the columns.

string
compileIndexes(string|null $schema, string $table)

Compile the query to determine the indexes.

string
compileVectorIndex(Blueprint $blueprint, Fluent $command)

Compile a vector index key command.

from  Grammar
string
compileDropVectorIndex(Blueprint $blueprint, Fluent $command)

Compile a drop vector index command.

from  Grammar
string
compileForeignKeys(string|null $schema, string $table)

Compile the query to determine the foreign keys.

string
compilePartitions(string|null $schema, string $table)

Compile the query to determine the partitions of a table.

from  Grammar
string
compilePartitionAncestors(array $tables)

Compile the query to determine the parents of the given tables and of their ancestors.

from  Grammar
string
compileCreateRangePartition(string $table, string $partition, array $from, array $to)

Compile a create range partition command.

from  Grammar
string
compileEnableForeignKeyConstraints()

Compile the command to enable foreign key constraints.

string
compileDisableForeignKeyConstraints()

Compile the command to disable foreign key constraints.

array|string
compileRenameColumn(Blueprint $blueprint, Fluent $command)

Compile a rename column command.

from  Grammar
array|string
compileChange(Blueprint $blueprint, Fluent $command)

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

string
compileFulltext(Blueprint $blueprint, Fluent $command)

Compile a fulltext index key command.

from  Grammar
string
compileDropFullText(Blueprint $blueprint, Fluent $command)

Compile a drop fulltext index command.

from  Grammar
string|null
compileForeign(Blueprint $blueprint, Fluent $command)

Compile a foreign key command.

array|string|null
compileDropForeign(Blueprint $blueprint, Fluent $command)

Compile a drop foreign key command.

array
getColumns(Blueprint $blueprint)

Compile the blueprint's added column definitions.

from  Grammar
string
getColumn(Blueprint $blueprint, Fluent $column)

Compile the column definition.

from  Grammar
string
getType(Fluent $column)

Get the SQL for the column data type.

from  Grammar
string
typeVector(Fluent $column)

Create the column definition for a vector type.

from  Grammar
string
typeTsvector(Fluent $column)

Create the column definition for a tsvector type.

from  Grammar
string
typeRaw(Fluent $column)

Create the column definition for a raw column type.

from  Grammar
string
addModifiers(string $sql, Blueprint $blueprint, Fluent $column)

Add the column modifiers to the definition.

from  Grammar
string
compileWhereNotNull(Fluent $command)

Compile the not-null predicate for a sparse index.

from  Grammar
Fluent|null
getCommandByName(Blueprint $blueprint, string $name)

Get the command with a given name 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
bool
hasCommand(Blueprint $blueprint, string $name)

Determine if a command with a given name exists on the blueprint.

from  Grammar
array
prefixArray(string $prefix, array $values)

Add a prefix to an array of values.

from  Grammar
string|int|float
getDefaultValue(mixed $value)

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

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
array
getAlterCommands()

Get the commands to be compiled on the alter command.

string
compileSqlCreateStatement(string|null $schema, string $name, string $type = 'table')

Compile the query to determine the SQL text that describes the given object.

string
compileDbstatExists()

Compile the query to determine if the dbstat table is available.

string
compileLegacyTables(string $schema, bool $withSize = false)

Compile the query for legacy versions of SQLite to determine the tables.

string
compileCreate(Blueprint $blueprint, Fluent $command)

Compile a create table command.

string
addForeignKeys(array $foreignKeys)

Get the foreign key syntax for a table creation statement.

string
getForeignKey(Fluent $foreign)

Get the SQL for the foreign key.

string|null
addPrimaryKeys(Fluent|null $primary)

Get the primary key syntax for a table creation statement.

string
columnizeIndexedColumns(Fluent $index)

Convert indexed columns and their SQLite attributes to SQL.

string
compileAdd(Blueprint $blueprint, Fluent $command)

Compile alter table commands for adding columns.

array
compileAlter(Blueprint $blueprint, Fluent $command)

Compile alter table command into a series of SQL statements.

bool
declaresAutoIncrement(string $sql)

Determine whether stored table SQL declares AUTOINCREMENT.

string
tableSqlForScanning(string $sql)

Remove quoted values, identifiers, and comments before scanning stored table SQL.

void
ensureTableCanBeRebuilt(Blueprint $blueprint, string $sql)

Ensure the stored table definition can be reconstructed without semantic loss.

string
compileTableOptions(string $sql)

Compile table options retained from the stored definition.

string
compileRebuiltIndex(Blueprint $blueprint, Fluent $index)

Compile an index retained across a table rebuild.

string
compileStoredIndex(Blueprint $blueprint, string $sql, string|null $name = null)

Compile a stored index definition for the target schema and name.

string|null
compilePrimary(Blueprint $blueprint, Fluent $command)

Compile a primary key command.

string
compileUnique(Blueprint $blueprint, Fluent $command)

Compile a unique key command.

string
compileIndex(Blueprint $blueprint, Fluent $command)

Compile a plain index key command.

void
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(string|null $schema = null)

Compile the SQL needed to drop all tables.

string
compileDropAllViews(string|null $schema = null)

Compile the SQL needed to drop all views.

string
compileRebuild(string|null $schema = null)

Compile the SQL needed to rebuild the database.

array|null
compileDropColumn(Blueprint $blueprint, Fluent $command)

Compile a drop column command.

string|null
compileDropPrimary(Blueprint $blueprint, Fluent $command)

Compile a drop primary key command.

string
compileDropUnique(Blueprint $blueprint, Fluent $command)

Compile a drop unique key command.

string
compileDropIndex(Blueprint $blueprint, Fluent $command)

Compile a drop index command.

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

Compile a rename index command.

string
pragma(string $key, mixed $value = null)

Get the SQL to get or set a PRAGMA value.

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

Create the column definition for a tiny text type.

string
typeText(Fluent $column)

Create the column definition for a text type.

string
typeMediumText(Fluent $column)

Create the column definition for a medium text type.

string
typeLongText(Fluent $column)

Create the column definition for a long text type.

string
typeInteger(Fluent $column)

Create the column definition for an integer type.

string
typeBigInteger(Fluent $column)

Create the column definition for a big integer type.

string
typeMediumInteger(Fluent $column)

Create the column definition for a medium integer type.

string
typeTinyInteger(Fluent $column)

Create the column definition for a tiny integer type.

string
typeSmallInteger(Fluent $column)

Create the column definition for a small integer type.

string
typeFloat(Fluent $column)

Create the column definition for a float type.

string
typeDouble(Fluent $column)

Create the column definition for a double type.

string
typeDecimal(Fluent $column)

Create the column definition for a decimal type.

string
typeBoolean(Fluent $column)

Create the column definition for a boolean type.

string
typeEnum(Fluent $column)

Create the column definition for an enumeration type.

string
typeJson(Fluent $column)

Create the column definition for a json type.

string
typeJsonb(Fluent $column)

Create the column definition for a jsonb type.

string
typeDate(Fluent $column)

Create the column definition for a date type.

string
typeDateTime(Fluent $column)

Create the column definition for a date-time type.

string
typeDateTimeTz(Fluent $column)

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

string
typeTime(Fluent $column)

Create the column definition for a time type.

string
typeTimeTz(Fluent $column)

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

string
typeTimestamp(Fluent $column)

Create the column definition for a timestamp type.

string
typeTimestampTz(Fluent $column)

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

string
typeYear(Fluent $column)

Create the column definition for a year type.

string
typeBinary(Fluent $column)

Create the column definition for a binary type.

string
typeMediumBinary(Fluent $column)

Create the column definition for a medium binary type.

string
typeLongBinary(Fluent $column)

Create the column definition for a long 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
typeGeography(Fluent $column)

Create the column definition for a spatial Geography type.

string|null
modifyVirtualAs(Blueprint $blueprint, Fluent $column)

Get the SQL for a generated virtual column modifier.

string|null
modifyStoredAs(Blueprint $blueprint, Fluent $column)

Get the SQL for a generated stored column modifier.

string|null
modifyNullable(Blueprint $blueprint, Fluent $column)

Get the SQL for a nullable column modifier.

string|null
modifyDefault(Blueprint $blueprint, Fluent $column)

Get the SQL for a default column modifier.

string|null
modifyIncrement(Blueprint $blueprint, Fluent $column)

Get the SQL for an auto-increment column modifier.

string|null
modifyCollate(Blueprint $blueprint, Fluent $column)

Get the SQL for a collation column modifier.

Details

in Macroable at line 30
static void macro(string $name, callable|object $macro)

Register a custom macro.

Macros persist in a static property for the worker lifetime and apply to every subsequent call on the macroable class.

Parameters

string $name
callable|object $macro

Return Value

void

in Macroable at line 44
static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

Delegates to macro() for each method; registered macros persist in a static property for the worker lifetime.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

in Macroable at line 61
static bool hasMacro(string $name)

Check if macro is registered.

Parameters

string $name

Return Value

bool

in Macroable at line 72
static void flushMacros()

Flush the existing macros.

Clears worker-wide macros; concurrent coroutines may resolve different methods depending on timing.

Return Value

void

in Macroable at line 83
static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

in Macroable at line 108
mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

in Grammar at line 24
__construct(Connection $connection)

Create a new grammar instance.

Parameters

Connection $connection

in Grammar at line 35
array wrapArray(array $values)

Wrap an array of values.

Parameters

array $values

Return Value

array

in Grammar at line 434
string wrapTable(Expression|string $table, string|null $prefix = null)

Wrap a table in keyword identifiers.

Parameters

Expression|string $table
string|null $prefix

Return Value

string

in Grammar at line 76
string wrapIdentifier(string $value)

Wrap a single identifier in keyword identifiers.

Parameters

string $value

Return Value

string

in Grammar at line 445
string|int|float wrap(Expression|string $value)

Wrap a value in keyword identifiers.

Parameters

Expression|string $value

Return Value

string|int|float

in Grammar at line 110
protected string wrapAliasedValue(string $value)

Wrap a value that has an alias.

Parameters

string $value

Return Value

string

in Grammar at line 120
protected string wrapAliasedTable(string $value, string|null $prefix = null)

Wrap a table that has an alias.

Parameters

string $value
string|null $prefix

Return Value

string

in Grammar at line 134
protected string wrapSegments(array $segments)

Wrap the given value segments.

Parameters

array $segments

Return Value

string

in Grammar at line 146
protected string wrapValue(string $value)

Wrap a single string in keyword identifiers.

Parameters

string $value

Return Value

string

at line 1282
protected string wrapJsonSelector(string $value)

Wrap the given JSON selector.

Parameters

string $value

Return Value

string

in Grammar at line 168
protected bool isJsonSelector(string $value)

Determine if the given string is a JSON selector.

Parameters

string $value

Return Value

bool

in Grammar at line 178
string columnize(array $columns)

Convert an array of column names into a delimited string.

Parameters

array $columns

Return Value

string

in Grammar at line 186
string parameterize(array $values)

Create query parameter place-holders for an array.

Parameters

array $values

Return Value

string

in Grammar at line 194
string|int|float parameter(mixed $value)

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

Parameters

mixed $value

Return Value

string|int|float

in Grammar at line 204
string quoteString(string|array $value)

Quote the given string literal.

Parameters

string|array $value

Return Value

string

in Grammar at line 216
string escape(string|float|int|bool|null $value, bool $binary = false)

Escape a value for safe SQL embedding.

Parameters

string|float|int|bool|null $value
bool $binary

Return Value

string

in Grammar at line 224
bool isExpression(mixed $value)

Determine if the given value is a raw expression.

Parameters

mixed $value

Return Value

bool

in Grammar at line 232
string|int|float getValue(Expression|string|int|float $expression)

Transforms expressions to their scalar types.

Parameters

Expression|string|int|float $expression

Return Value

string|int|float

in Grammar at line 244
string getDateFormat()

Get the format for database stored dates.

Return Value

string

in Grammar at line 255
static void flushState()

Flush all static state.

Return Value

void

in CompilesJsonPaths at line 15
protected array wrapJsonFieldAndPath(string $column)

Split the given JSON selector into the field and the optional path and wrap them separately.

Parameters

string $column

Return Value

array

in CompilesJsonPaths at line 29
protected string wrapJsonPath(string $value, string $delimiter = '->')

Wrap the given JSON path.

Parameters

string $value
string $delimiter

Return Value

string

in CompilesJsonPaths at line 44
protected string wrapJsonPathSegment(string $segment)

Wrap the given JSON path segment.

Parameters

string $segment

Return Value

string

in Grammar at line 44
string compileCreateDatabase(string $name)

Compile a create database command.

Parameters

string $name

Return Value

string

in Grammar at line 55
string compileDropDatabaseIfExists(string $name)

Compile a drop database if exists command.

Parameters

string $name

Return Value

string

at line 73
string compileSchemas()

Compile the query to determine the schemas.

Return Value

string

at line 81
string|null compileTableExists(string|null $schema, string $table)

Compile the query to determine if the given table exists.

Parameters

string|null $schema
string $table

Return Value

string|null

at line 96
string compileTables(string|array|null $schema, bool $withSize = false)

Compile the query to determine the tables.

Parameters

string|array|null $schema
bool $withSize

Return Value

string

at line 141
string compileViews(string|array|null $schema)

Compile the query to determine the views.

Parameters

string|array|null $schema

Return Value

string

in Grammar at line 106
string compileTypes(string|array|null $schema)

Compile the query to determine the user-defined types.

Parameters

string|array|null $schema

Return Value

string

at line 153
string compileColumns(string|null $schema, string $table)

Compile the query to determine the columns.

Parameters

string|null $schema
string $table

Return Value

string

at line 170
string compileIndexes(string|null $schema, string $table)

Compile the query to determine the indexes.

Parameters

string|null $schema
string $table

Return Value

string

in Grammar at line 130
string compileVectorIndex(Blueprint $blueprint, Fluent $command)

Compile a vector index key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

in Grammar at line 140
string compileDropVectorIndex(Blueprint $blueprint, Fluent $command)

Compile a drop vector index command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

Exceptions

RuntimeException

at line 201
string compileForeignKeys(string|null $schema, string $table)

Compile the query to determine the foreign keys.

Parameters

string|null $schema
string $table

Return Value

string

in Grammar at line 158
string compilePartitions(string|null $schema, string $table)

Compile the query to determine the partitions of a table.

Parameters

string|null $schema
string $table

Return Value

string

Exceptions

RuntimeException

in Grammar at line 168
string compilePartitionAncestors(array $tables)

Compile the query to determine the parents of the given tables and of their ancestors.

Parameters

array $tables

Return Value

string

Exceptions

RuntimeException

in Grammar at line 178
string compileCreateRangePartition(string $table, string $partition, array $from, array $to)

Compile a create range partition command.

Parameters

string $table
string $partition
array $from
array $to

Return Value

string

Exceptions

RuntimeException

at line 863
string compileEnableForeignKeyConstraints()

Compile the command to enable foreign key constraints.

Return Value

string

at line 872
string compileDisableForeignKeyConstraints()

Compile the command to disable foreign key constraints.

Return Value

string

in Grammar at line 204
array|string compileRenameColumn(Blueprint $blueprint, Fluent $command)

Compile a rename column command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

array|string

at line 585
array|string compileChange(Blueprint $blueprint, Fluent $command)

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

Parameters

Blueprint $blueprint
Fluent $command

Return Value

array|string

in Grammar at line 227
string compileFulltext(Blueprint $blueprint, Fluent $command)

Compile a fulltext index key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

in Grammar at line 235
string compileDropFullText(Blueprint $blueprint, Fluent $command)

Compile a drop fulltext index command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 648
string|null compileForeign(Blueprint $blueprint, Fluent $command)

Compile a foreign key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string|null

at line 770
array|string|null compileDropForeign(Blueprint $blueprint, Fluent $command)

Compile a drop foreign key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

array|string|null

Exceptions

RuntimeException

in Grammar at line 293
protected array getColumns(Blueprint $blueprint)

Compile the blueprint's added column definitions.

Parameters

Blueprint $blueprint

Return Value

array

in Grammar at line 309
protected string getColumn(Blueprint $blueprint, Fluent $column)

Compile the column definition.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string

in Grammar at line 322
protected string getType(Fluent $column)

Get the SQL for the column data type.

Parameters

Fluent $column

Return Value

string

in Grammar at line 332
protected string typeVector(Fluent $column)

Create the column definition for a vector type.

Parameters

Fluent $column

Return Value

string

in Grammar at line 340
protected string typeTsvector(Fluent $column)

Create the column definition for a tsvector type.

Parameters

Fluent $column

Return Value

string

in Grammar at line 348
protected string typeRaw(Fluent $column)

Create the column definition for a raw column type.

Parameters

Fluent $column

Return Value

string

in Grammar at line 356
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 370
protected string compileWhereNotNull(Fluent $command)

Compile the not-null predicate for a sparse index.

Parameters

Fluent $command

Return Value

string

in Grammar at line 381
protected Fluent|null getCommandByName(Blueprint $blueprint, string $name)

Get the command with a given name if it exists on the blueprint.

Parameters

Blueprint $blueprint
string $name

Return Value

Fluent|null

in Grammar at line 397
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 407
protected bool hasCommand(Blueprint $blueprint, string $name)

Determine if a command with a given name exists on the blueprint.

Parameters

Blueprint $blueprint
string $name

Return Value

bool

in Grammar at line 424
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 455
protected string|int|float getDefaultValue(mixed $value)

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

Parameters

mixed $value

Return Value

string|int|float

in Grammar at line 475
array getFluentCommands()

Get the fluent commands for the grammar.

Return Value

array

in Grammar at line 483
bool supportsSchemaTransactions()

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

Return Value

bool

at line 37
array getAlterCommands()

Get the commands to be compiled on the alter command.

Return Value

array

at line 51
string compileSqlCreateStatement(string|null $schema, string $name, string $type = 'table')

Compile the query to determine the SQL text that describes the given object.

Parameters

string|null $schema
string $name
string $type

Return Value

string

at line 65
string compileDbstatExists()

Compile the query to determine if the dbstat table is available.

Return Value

string

at line 115
string compileLegacyTables(string $schema, bool $withSize = false)

Compile the query for legacy versions of SQLite to determine the tables.

Parameters

string $schema
bool $withSize

Return Value

string

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

Compile a create table command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 241
protected string addForeignKeys(array $foreignKeys)

Get the foreign key syntax for a table creation statement.

Parameters

array $foreignKeys

Return Value

string

at line 254
protected string getForeignKey(Fluent $foreign)

Get the SQL for the foreign key.

Parameters

Fluent $foreign

Return Value

string

at line 283
protected string|null addPrimaryKeys(Fluent|null $primary)

Get the primary key syntax for a table creation statement.

Parameters

Fluent|null $primary

Return Value

string|null

at line 295
protected string columnizeIndexedColumns(Fluent $index)

Convert indexed columns and their SQLite attributes to SQL.

Parameters

Fluent $index

Return Value

string

at line 318
string compileAdd(Blueprint $blueprint, Fluent $command)

Compile alter table commands for adding columns.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 332
array compileAlter(Blueprint $blueprint, Fluent $command)

Compile alter table command into a series of SQL statements.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

array

at line 445
bool declaresAutoIncrement(string $sql)

internal  
 

Determine whether stored table SQL declares AUTOINCREMENT.

Parameters

string $sql

Return Value

bool

at line 453
protected string tableSqlForScanning(string $sql)

Remove quoted values, identifiers, and comments before scanning stored table SQL.

Parameters

string $sql

Return Value

string

at line 468
protected void ensureTableCanBeRebuilt(Blueprint $blueprint, string $sql)

Ensure the stored table definition can be reconstructed without semantic loss.

Parameters

Blueprint $blueprint
string $sql

Return Value

void

at line 498
protected string compileTableOptions(string $sql)

Compile table options retained from the stored definition.

Parameters

string $sql

Return Value

string

at line 524
protected string compileRebuiltIndex(Blueprint $blueprint, Fluent $index)

Compile an index retained across a table rebuild.

Parameters

Blueprint $blueprint
Fluent $index

Return Value

string

at line 563
protected string compileStoredIndex(Blueprint $blueprint, string $sql, string|null $name = null)

Compile a stored index definition for the target schema and name.

Parameters

Blueprint $blueprint
string $sql
string|null $name

Return Value

string

at line 595
string|null compilePrimary(Blueprint $blueprint, Fluent $command)

Compile a primary key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string|null

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

Compile a unique key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

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

Compile a plain index key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 639
void compileSpatialIndex(Blueprint $blueprint, Fluent $command)

Compile a spatial index key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

void

Exceptions

RuntimeException

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

Compile a drop table command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

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

Compile a drop table (if exists) command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 673
string compileDropAllTables(string|null $schema = null)

Compile the SQL needed to drop all tables.

Parameters

string|null $schema

Return Value

string

at line 684
string compileDropAllViews(string|null $schema = null)

Compile the SQL needed to drop all views.

Parameters

string|null $schema

Return Value

string

at line 695
string compileRebuild(string|null $schema = null)

Compile the SQL needed to rebuild the database.

Parameters

string|null $schema

Return Value

string

at line 708
array|null compileDropColumn(Blueprint $blueprint, Fluent $command)

Compile a drop column command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

array|null

at line 726
string|null compileDropPrimary(Blueprint $blueprint, Fluent $command)

Compile a drop primary key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string|null

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

Compile a drop unique key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

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

Compile a drop index command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 759
void compileDropSpatialIndex(Blueprint $blueprint, Fluent $command)

Compile a drop spatial index command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

void

Exceptions

RuntimeException

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

Compile a rename table command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

at line 796
array compileRenameIndex(Blueprint $blueprint, Fluent $command)

Compile a rename index command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

array

Exceptions

RuntimeException

at line 881
string pragma(string $key, mixed $value = null)

Get the SQL to get or set a PRAGMA value.

Parameters

string $key
mixed $value

Return Value

string

at line 893
protected string typeChar(Fluent $column)

Create the column definition for a char type.

Parameters

Fluent $column

Return Value

string

at line 901
protected string typeString(Fluent $column)

Create the column definition for a string type.

Parameters

Fluent $column

Return Value

string

at line 909
protected string typeTinyText(Fluent $column)

Create the column definition for a tiny text type.

Parameters

Fluent $column

Return Value

string

at line 917
protected string typeText(Fluent $column)

Create the column definition for a text type.

Parameters

Fluent $column

Return Value

string

at line 925
protected string typeMediumText(Fluent $column)

Create the column definition for a medium text type.

Parameters

Fluent $column

Return Value

string

at line 933
protected string typeLongText(Fluent $column)

Create the column definition for a long text type.

Parameters

Fluent $column

Return Value

string

at line 941
protected string typeInteger(Fluent $column)

Create the column definition for an integer type.

Parameters

Fluent $column

Return Value

string

at line 949
protected string typeBigInteger(Fluent $column)

Create the column definition for a big integer type.

Parameters

Fluent $column

Return Value

string

at line 957
protected string typeMediumInteger(Fluent $column)

Create the column definition for a medium integer type.

Parameters

Fluent $column

Return Value

string

at line 965
protected string typeTinyInteger(Fluent $column)

Create the column definition for a tiny integer type.

Parameters

Fluent $column

Return Value

string

at line 973
protected string typeSmallInteger(Fluent $column)

Create the column definition for a small integer type.

Parameters

Fluent $column

Return Value

string

at line 981
protected string typeFloat(Fluent $column)

Create the column definition for a float type.

Parameters

Fluent $column

Return Value

string

at line 989
protected string typeDouble(Fluent $column)

Create the column definition for a double type.

Parameters

Fluent $column

Return Value

string

at line 997
protected string typeDecimal(Fluent $column)

Create the column definition for a decimal type.

Parameters

Fluent $column

Return Value

string

at line 1005
protected string typeBoolean(Fluent $column)

Create the column definition for a boolean type.

Parameters

Fluent $column

Return Value

string

at line 1013
protected string typeEnum(Fluent $column)

Create the column definition for an enumeration type.

Parameters

Fluent $column

Return Value

string

at line 1025
protected string typeJson(Fluent $column)

Create the column definition for a json type.

Parameters

Fluent $column

Return Value

string

at line 1033
protected string typeJsonb(Fluent $column)

Create the column definition for a jsonb type.

Parameters

Fluent $column

Return Value

string

at line 1041
protected string typeDate(Fluent $column)

Create the column definition for a date type.

Parameters

Fluent $column

Return Value

string

at line 1053
protected string typeDateTime(Fluent $column)

Create the column definition for a date-time type.

Parameters

Fluent $column

Return Value

string

at line 1065
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

at line 1073
protected string typeTime(Fluent $column)

Create the column definition for a time type.

Parameters

Fluent $column

Return Value

string

at line 1081
protected string typeTimeTz(Fluent $column)

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

Parameters

Fluent $column

Return Value

string

at line 1089
protected string typeTimestamp(Fluent $column)

Create the column definition for a timestamp type.

Parameters

Fluent $column

Return Value

string

at line 1101
protected string typeTimestampTz(Fluent $column)

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

Parameters

Fluent $column

Return Value

string

at line 1109
protected string typeYear(Fluent $column)

Create the column definition for a year type.

Parameters

Fluent $column

Return Value

string

at line 1121
protected string typeBinary(Fluent $column)

Create the column definition for a binary type.

Parameters

Fluent $column

Return Value

string

at line 1129
protected string typeMediumBinary(Fluent $column)

Create the column definition for a medium binary type.

Parameters

Fluent $column

Return Value

string

at line 1137
protected string typeLongBinary(Fluent $column)

Create the column definition for a long binary type.

Parameters

Fluent $column

Return Value

string

at line 1145
protected string typeUuid(Fluent $column)

Create the column definition for a uuid type.

Parameters

Fluent $column

Return Value

string

at line 1153
protected string typeIpAddress(Fluent $column)

Create the column definition for an IP address type.

Parameters

Fluent $column

Return Value

string

at line 1161
protected string typeMacAddress(Fluent $column)

Create the column definition for a MAC address type.

Parameters

Fluent $column

Return Value

string

at line 1169
protected string typeGeometry(Fluent $column)

Create the column definition for a spatial Geometry type.

Parameters

Fluent $column

Return Value

string

at line 1177
protected string typeGeography(Fluent $column)

Create the column definition for a spatial Geography type.

Parameters

Fluent $column

Return Value

string

at line 1187
protected string|null modifyVirtualAs(Blueprint $blueprint, Fluent $column)

Get the SQL for a generated virtual column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null

at line 1207
protected string|null modifyStoredAs(Blueprint $blueprint, Fluent $column)

Get the SQL for a generated stored column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null

at line 1227
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 1246
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 1258
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

at line 1270
protected string|null modifyCollate(Blueprint $blueprint, Fluent $column)

Get the SQL for a collation column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null