SQLiteGrammar
class SQLiteGrammar extends Grammar (View source)
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 | $tablePrefix | The grammar table prefix. |
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 array | $fluentCommands | The commands to be executed outside of create or alter command. |
from Grammar |
protected string[] | $serials | The columns available as serials. |
Methods
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Wrap the given JSON selector.
Convert an array of column names into a delimited string.
Get the appropriate query parameter place-holder for a value.
Escapes a value for safe SQL embedding.
Split the given JSON selector into the field and the optional path and wrap them separately.
Wrap the given JSON path.
Wrap the given JSON path segment.
Compile a drop database if exists command.
Compile a rename column command.
Compile a change column command into a series of SQL statements.
Add the column modifiers to the definition.
Get the command with a given name if it exists on the blueprint.
Format a value so that it can be used in "default" clauses.
Check if this Grammar supports schema changes wrapped in a transaction.
Compile the query to determine the SQL text that describes the given object.
Compile the query to determine if the dbstat table is available.
Compile the query to determine if the given table exists.
Compile the query to determine the tables.
Compile the query to determine the views.
Compile the query to determine the columns.
Compile the query to determine the indexes.
Compile the query to determine the foreign keys.
Get the foreign key syntax for a table creation statement.
Compile alter table command into a series of SQL statements.
Compile a drop table (if exists) command.
Compile the SQL needed to drop all tables.
Compile the SQL needed to drop all views.
Compile the SQL needed to rebuild the database.
Compile a drop column command.
Compile a drop spatial index command.
Compile a rename index command.
Compile the command to enable foreign key constraints.
Compile the command to disable foreign key constraints.
Compile the command to set the busy timeout.
Compile the command to set the journal mode.
Compile the command to set the synchronous mode.
Compile the SQL needed to enable a writable schema.
Compile the SQL needed to disable a writable schema.
Get the SQL to set a PRAGMA value.
Get the SQL for a generated virtual column modifier.
Get the SQL for a generated stored column modifier.
Get the SQL for an auto-increment column modifier.
Details
static void
macro(string $name, object|callable $macro)
Register a custom macro.
static void
mixin(object $mixin, bool $replace = true)
Mix another object into the class.
static bool
hasMacro(string $name)
Checks 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.
array
wrapArray(array $values)
Wrap an array of values.
string
wrapTable(Expression|string $table)
Wrap a table in keyword identifiers.
string
wrap(Expression|string $value)
Wrap a value in keyword identifiers.
protected string
wrapAliasedValue(string $value)
Wrap a value that has an alias.
protected string
wrapAliasedTable(string $value)
Wrap a table that has an alias.
protected string
wrapSegments(array $segments)
Wrap the given value segments.
protected string
wrapValue(string $value)
Wrap a single string in keyword identifiers.
protected string
wrapJsonSelector(string $value)
Wrap the given JSON selector.
protected bool
isJsonSelector(string $value)
Determine if the given string is a JSON selector.
string
columnize(array $columns)
Convert an array of column names into a delimited string.
string
parameterize(array $values)
Create query parameter place-holders for an array.
string
parameter(mixed $value)
Get the appropriate query parameter place-holder for a value.
string
quoteString(string|array $value)
Quote the given string literal.
string
escape(string|float|int|bool|null $value, bool $binary = false)
Escapes a value for safe SQL embedding.
bool
isExpression(mixed $value)
Determine if the given value is a raw expression.
string|int|float
getValue(Expression|string|int|float $expression)
Transforms expressions to their scalar types.
string
getDateFormat()
Get the format for database stored dates.
string
getTablePrefix()
Get the grammar's table prefix.
$this
setTablePrefix(string $prefix)
Set the grammar's table prefix.
$this
setConnection(Connection $connection)
Set the grammar's database connection.
protected array
wrapJsonFieldAndPath(string $column)
Split the given JSON selector into the field and the optional path and wrap them separately.
protected string
wrapJsonPath(string $value, string $delimiter = '->')
Wrap the given JSON path.
protected string
wrapJsonPathSegment(string $segment)
Wrap the given JSON path segment.
void
compileCreateDatabase(string $name, Connection $connection)
Compile a create database command.
void
compileDropDatabaseIfExists(string $name)
Compile a drop database if exists command.
array|string
compileRenameColumn(Blueprint $blueprint, Fluent $command, Connection $connection)
Compile a rename column command.
array|string
compileChange(Blueprint $blueprint, Fluent $command, Connection $connection)
Compile a change column command into a series of SQL statements.
string
compileDropFullText(Blueprint $blueprint, Fluent $command)
Compile a drop fulltext index command.
string
compileDropForeign(Blueprint $blueprint, Fluent $command)
Compile a drop foreign key command.
protected array
getColumns(Blueprint $blueprint)
Compile the blueprint's added column definitions.
protected string
getColumn(Blueprint $blueprint, ColumnDefinition $column)
Compile the column definition.
protected string
getType(Fluent $column)
Get the SQL for the column data type.
protected void
typeComputed(Fluent $column)
Create the column definition for a generated, computed column type.
protected string
typeVector(Fluent $column)
Create the column definition for a vector type.
protected string
typeRaw(Fluent $column)
Create the column definition for a raw column type.
protected string
addModifiers(string $sql, Blueprint $blueprint, Fluent $column)
Add the column modifiers to the definition.
protected Fluent|null
getCommandByName(Blueprint $blueprint, string $name)
Get the command with a given name if it exists on the blueprint.
protected array
getCommandsByName(Blueprint $blueprint, string $name)
Get all of the commands with a given name.
protected
hasCommand(Blueprint $blueprint, $name)
No description
array
prefixArray(string $prefix, array $values)
Add a prefix to an array of values.
protected string
getDefaultValue(mixed $value)
Format a value so that it can be used in "default" clauses.
array
getFluentCommands()
Get the fluent commands for the grammar.
bool
supportsSchemaTransactions()
Check if this Grammar supports schema changes wrapped in a transaction.
array
getAlterCommands(Connection $connection)
Get the commands to be compiled on the alter command.
string
compileSqlCreateStatement(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
compileTableExists(string $table)
Compile the query to determine if the given table exists.
string
compileTables(bool $withSize = false)
Compile the query to determine the tables.
string
compileViews()
Compile the query to determine the views.
string
compileColumns(string $table)
Compile the query to determine the columns.
string
compileIndexes(string $table)
Compile the query to determine the indexes.
string
compileForeignKeys(string $table)
Compile the query to determine the foreign keys.
protected string|null
addForeignKeys(ForeignKeyDefinition[] $foreignKeys)
Get the foreign key syntax for a table creation statement.
protected string
getForeignKey(Fluent $foreign)
Get the SQL for the foreign key.
protected string|null
addPrimaryKeys(Fluent|null $primary)
Get the primary key syntax for a table creation statement.
string
compileAdd(Blueprint $blueprint, Fluent $command)
Compile alter table commands for adding columns.
array|string
compileAlter(Blueprint $blueprint, Fluent $command, Connection $connection)
Compile alter table command into a series of SQL statements.
void
compileSpatialIndex(Blueprint $blueprint, Fluent $command)
Compile a spatial index key 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|null
compileDropColumn(Blueprint $blueprint, Fluent $command, Connection $connection)
Compile a drop column command.
string
compileDropPrimary(Blueprint $blueprint, Fluent $command)
Compile a drop primary key command.
void
compileDropSpatialIndex(Blueprint $blueprint, Fluent $command)
Compile a drop spatial index 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
compileSetBusyTimeout(int $milliseconds)
Compile the command to set the busy timeout.
string
compileSetJournalMode(string $mode)
Compile the command to set the journal mode.
string
compileSetSynchronous(string $mode)
Compile the command to set the synchronous mode.
string
compileEnableWriteableSchema()
Compile the SQL needed to enable a writable schema.
string
compileDisableWriteableSchema()
Compile the SQL needed to disable a writable schema.
protected string
pragma(string $name, mixed $value)
Get the SQL to set a PRAGMA value.
protected string
typeChar(Fluent $column)
Create the column definition for a char type.
protected string
typeString(Fluent $column)
Create the column definition for a string type.
protected string
typeTinyText(Fluent $column)
Create the column definition for a tiny text type.
protected string
typeText(Fluent $column)
Create the column definition for a text type.
protected string
typeMediumText(Fluent $column)
Create the column definition for a medium text type.
protected string
typeLongText(Fluent $column)
Create the column definition for a long text type.
protected string
typeInteger(Fluent $column)
Create the column definition for an integer type.
protected string
typeBigInteger(Fluent $column)
Create the column definition for a big integer type.
protected string
typeMediumInteger(Fluent $column)
Create the column definition for a medium integer type.
protected string
typeTinyInteger(Fluent $column)
Create the column definition for a tiny integer type.
protected string
typeSmallInteger(Fluent $column)
Create the column definition for a small integer type.
protected string
typeFloat(Fluent $column)
Create the column definition for a float type.
protected string
typeDouble(Fluent $column)
Create the column definition for a double type.
protected string
typeDecimal(Fluent $column)
Create the column definition for a decimal type.
protected string
typeBoolean(Fluent $column)
Create the column definition for a boolean type.
protected string
typeEnum(Fluent $column)
Create the column definition for an enumeration type.
protected string
typeJson(Fluent $column)
Create the column definition for a json type.
protected string
typeJsonb(Fluent $column)
Create the column definition for a jsonb type.
protected string
typeDate(Fluent $column)
Create the column definition for a date type.
protected string
typeDateTime(Fluent $column)
Create the column definition for a date-time type.
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."
protected string
typeTime(Fluent $column)
Create the column definition for a time type.
protected string
typeTimeTz(Fluent $column)
Create the column definition for a time (with time zone) type.
protected string
typeTimestamp(Fluent $column)
Create the column definition for a timestamp type.
protected string
typeTimestampTz(Fluent $column)
Create the column definition for a timestamp (with time zone) type.
protected string
typeYear(Fluent $column)
Create the column definition for a year type.
protected string
typeBinary(Fluent $column)
Create the column definition for a binary type.
protected string
typeUuid(Fluent $column)
Create the column definition for a uuid type.
protected string
typeIpAddress(Fluent $column)
Create the column definition for an IP address type.
protected string
typeMacAddress(Fluent $column)
Create the column definition for a MAC address type.
protected string
typeGeometry(Fluent $column)
Create the column definition for a spatial Geometry type.
protected string
typeGeography(Fluent $column)
Create the column definition for a spatial Geography type.
protected string|null
modifyVirtualAs(Blueprint $blueprint, Fluent $column)
Get the SQL for a generated virtual column modifier.
protected string|null
modifyStoredAs(Blueprint $blueprint, Fluent $column)
Get the SQL for a generated stored column modifier.
protected string|null
modifyNullable(Blueprint $blueprint, Fluent $column)
Get the SQL for a nullable column modifier.
protected string|null
modifyDefault(Blueprint $blueprint, Fluent $column)
Get the SQL for a default column modifier.
protected string|null
modifyIncrement(Blueprint $blueprint, Fluent $column)
Get the SQL for an auto-increment column modifier.