SQLiteBuilder
class SQLiteBuilder extends Builder
Traits
Constants
| protected DEFAULT_STRING_LENGTH |
|
| protected DEFAULT_TIME_PRECISION |
|
| protected DEFAULT_MORPH_KEY_TYPE |
|
Properties
| static protected array | $macros | The registered string macros. |
from Macroable |
| protected Connection | $connection | The database connection instance. |
from Builder |
| SQLiteGrammar | $grammar | ||
| protected null|Connection, string, null|Blueprint | $resolver | The Blueprint resolver callback. |
from Builder |
| static null|non-negative-int | $defaultStringLength | The default string length for migrations. |
from Builder |
| static int|null | $defaultTimePrecision | The default time precision for migrations. |
from Builder |
| static "int"|"ulid"|"uuid" | $defaultMorphKeyType | The default relationship morph key type. |
from Builder |
Methods
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Set the default string length for migrations.
Set the default time precision for migrations.
Set the default morph key type for migrations.
Create a database in the schema.
Drop a database from the schema if the database exists.
Get the tables that belong to the connection.
Get the names of the tables that belong to the connection.
Get the views that belong to the connection.
Get the user-defined types that belong to the connection.
Determine if the given table has a given column.
Determine if the given table has given columns.
Execute a table builder callback if the given table has a given column.
Execute a table builder callback if the given table doesn't have a given column.
Execute a table builder callback if the given table has a given index.
Execute a table builder callback if the given table doesn't have a given index.
Get the data type for the given column name.
Get the columns for a given table.
Determine if the given table has a given index.
Determine if the table has a given foreign key.
Create a partition of a range-partitioned table for the given bounds.
Create the migration repository table for this database driver.
Drop columns from a table schema.
Drop all tables from the database.
Drop all views from the database.
Remove the partitions whose ancestors are among the given tables or excepted.
Enable foreign key constraints.
Disable foreign key constraints.
Disable foreign key constraints during the execution of a callback.
Determine whether foreign key constraints are enabled.
Set the foreign key constraint state for an internal suppression scope.
Execute internal physical-session maintenance.
Create the vector extension on the schema if it does not exist.
Create a new extension on the schema if it does not exist.
Execute the given schema statements in order.
Read schema metadata from the same write connection that migrations mutate.
Read a scalar result through the metadata execution hook.
Determine whether every executable command is declared by the framework grammar.
Create a new command set with a Closure.
Get the names of current schemas for the connection.
Parse the given database object reference and extract the schema and table.
Validate the database name for filesystem management.
Get the columns and stored table definition used to reconstruct SQLite schema state.
Get the indexes used to reconstruct SQLite schema state.
Get foreign keys with their declared target form for SQLite schema state.
Drop schema objects and reload SQLite's schema cache.
Get the value for the given pragma name or set the given value.
Empty the database file.
Ensure a schema operation is not running within a transaction.
Ensure foreign key constraints can be changed on this connection.
Remove the rebuild-only foreign-key guard statements.
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.
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.
in
Macroable at line 61
static bool
hasMacro(string $name)
Check if macro is registered.
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.
in
Macroable at line 83
static mixed
__callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
in
Macroable at line 108
mixed
__call(string $method, array $parameters)
Dynamically handle calls to the class.
in
Builder at line 70
__construct(Connection $connection)
Create a new database Schema manager.
in
Builder at line 84
static void
defaultStringLength(int $length)
Set the default string length for migrations.
The length persists in a static property for the worker lifetime and applies to every Blueprint::string() across all coroutines.
in
Builder at line 96
static void
defaultTimePrecision(int|null $precision)
Set the default time precision for migrations.
The precision persists in a static property for the worker lifetime and applies to every time/datetime column across all coroutines.
in
Builder at line 110
static void
defaultMorphKeyType(string $type)
Set the default morph key type for migrations.
The type persists in a static property for the worker lifetime and applies to every morph() column across all coroutines.
in
Builder at line 125
static void
morphUsingUuids()
Set the default morph key type for migrations to UUIDs.
Sets the worker-wide morph type via defaultMorphKeyType().
in
Builder at line 136
static void
morphUsingUlids()
Set the default morph key type for migrations to ULIDs.
Sets the worker-wide morph type via defaultMorphKeyType().
at line 80
bool
createDatabase(string $name)
Create a database in the schema.
at line 91
bool
dropDatabaseIfExists(string $name)
Drop a database from the schema if the database exists.
in
Builder at line 167
array
getSchemas()
Get the schemas that belong to the connection.
in
Builder at line 177
bool
hasTable(string $table)
Determine if the given table exists.
in
Builder at line 199
bool
hasView(string $view)
Determine if the given view exists.
at line 111
array
getTables(array|string|null $schema = null)
Get the tables that belong to the connection.
in
Builder at line 232
array
getTableListing(array|string|null $schema = null, bool $schemaQualified = true)
Get the names of the tables that belong to the connection.
at line 142
array
getViews(array|string|null $schema = null)
Get the views that belong to the connection.
in
Builder at line 257
array
getTypes(array|string|null $schema = null)
Get the user-defined types that belong to the connection.
in
Builder at line 267
bool
hasColumn(string $table, string $column)
Determine if the given table has a given column.
in
Builder at line 281
bool
hasColumns(string $table, array $columns)
Determine if the given table has given columns.
in
Builder at line 298
void
whenTableHasColumn(string $table, string $column, Closure $callback)
Execute a table builder callback if the given table has a given column.
in
Builder at line 308
void
whenTableDoesntHaveColumn(string $table, string $column, Closure $callback)
Execute a table builder callback if the given table doesn't have a given column.
in
Builder at line 318
void
whenTableHasIndex(string $table, array|string $index, Closure $callback, string|null $type = null)
Execute a table builder callback if the given table has a given index.
in
Builder at line 328
void
whenTableDoesntHaveIndex(string $table, array|string $index, Closure $callback, string|null $type = null)
Execute a table builder callback if the given table doesn't have a given index.
in
Builder at line 340
string
getColumnType(string $table, string $column, bool $fullDefinition = false)
Get the data type for the given column name.
in
Builder at line 356
array
getColumnListing(string $table)
Get the column listing for a given table.
in
Builder at line 366
array
getColumn(string $table, string $column)
Get the column for a given table.
at line 158
array
getColumns(string $table)
Get the columns for a given table.
in
Builder at line 408
array
getIndexes(string $table)
Get the indexes for a given table.
in
Builder at line 426
array
getIndexListing(string $table)
Get the names of the indexes for a given table.
in
Builder at line 438
string
qualifyIndexName(string $name)
Qualify an explicit index name.
The configured table prefix is applied only when index prefixing is enabled. Names are always lowercased, with dashes and dots normalized to underscores to match generated index names.
in
Builder at line 450
bool
hasIndex(string $table, array|string $index, string|null $type = null)
Determine if the given table has a given index.
in
Builder at line 473
bool
hasForeignKey(string $table, array|string $foreignKey)
Determine if the table has a given foreign key.
in
Builder at line 489
array
getForeignKeys(string $table)
Get the foreign keys for a given table.
in
Builder at line 507
array
getPartitions(string $table)
Get the partitions of a given table.
in
Builder at line 531
void
create(string $table, Closure $callback)
Create a new table on the schema.
in
Builder at line 548
void
createRangePartition(string $table, string $partition, array $from, array $to)
Create a partition of a range-partitioned table for the given bounds.
Each bound lists one value per partition column, from inclusive and to exclusive.
in
Builder at line 558
void
createMigrationRepositoryTable(string $table)
Create the migration repository table for this database driver.
in
Builder at line 573
void
drop(string $table)
Drop a table from the schema.
in
Builder at line 583
void
dropIfExists(string $table)
Drop a table from the schema if it exists.
in
Builder at line 595
void
dropColumns(string $table, array|string $columns)
Drop columns from a table schema.
at line 233
void
dropAllTables()
Drop all tables from the database.
at line 246
void
dropAllViews()
Drop all views from the database.
in
Builder at line 627
void
dropAllTypes()
Drop all types from the database.
in
Builder at line 637
void
truncateTables(array $tables)
Truncate the given tables if they contain rows.
in
Builder at line 661
array
withoutCoveredPartitions(array $tables, array $except = [])
Remove the partitions whose ancestors are among the given tables or excepted.
An operation on a partitioned table covers its partitions, and an excepted one keeps them, so only partitions of other tables remain, as tables of their own.
in
Builder at line 689
void
rename(string $from, string $to)
Rename a table on the schema.
at line 356
bool
enableForeignKeyConstraints()
Enable foreign key constraints.
at line 367
bool
disableForeignKeyConstraints()
Disable foreign key constraints.
in
Builder at line 724
mixed
withoutForeignKeyConstraints(Closure $callback)
Disable foreign key constraints during the execution of a callback.
at line 378
protected bool
foreignKeyConstraintsAreEnabled()
Determine whether foreign key constraints are enabled.
at line 387
protected void
setForeignKeyConstraints(bool $enabled)
Set the foreign key constraint state for an internal suppression scope.
in
Builder at line 784
protected void
executeSessionStatement(string $statement)
Execute internal physical-session maintenance.
in
Builder at line 792
void
ensureVectorExtensionExists(string|null $schema = null)
Create the vector extension on the schema if it does not exist.
in
Builder at line 802
void
ensureExtensionExists(string $name, string|null $schema = null)
Create a new extension on the schema if it does not exist.
at line 26
void
executeBlueprint(Blueprint $blueprint)
Execute the given schema blueprint.
in
Builder at line 827
protected void
build(Blueprint $blueprint)
Execute the blueprint to build / modify the table.
in
Builder at line 837
protected void
executeStatements(array $statements)
Execute the given schema statements in order.
in
Builder at line 849
protected array
selectMetadata(string $query)
Read schema metadata from the same write connection that migrations mutate.
in
Builder at line 859
protected mixed
scalarMetadata(string $query)
Read a scalar result through the metadata execution hook.
in
Builder at line 875
protected bool
commandsAreDeclaredOn(Blueprint $blueprint, string $grammar)
Determine whether every executable command is declared by the framework grammar.
in
Builder at line 893
protected Blueprint
createBlueprint(string $table, Closure|null $callback = null)
Create a new command set with a Closure.
at line 452
array|null
getCurrentSchemaListing()
Get the names of current schemas for the connection.
in
Builder at line 917
string|null
getCurrentSchemaName()
Get the default schema name for the connection.
in
Builder at line 929
array
parseSchemaAndTable(string $reference, bool|string|null $withDefaultSchema = null)
Parse the given database object reference and extract the schema and table.
in
Builder at line 954
Connection
getConnection()
Get the database connection instance.
in
Builder at line 964
void
blueprintResolver(Closure $resolver)
Set the Schema Blueprint resolver callback.
in
Builder at line 972
static void
flushState()
Flush all static state.
at line 102
protected void
validateDatabasePath(string $name)
Validate the database name for filesystem management.
at line 170
array
getColumnsForSchemaState(string $table)
| internal |
Get the columns and stored table definition used to reconstruct SQLite schema state.
at line 194
array
getIndexesForSchemaState(string $table)
| internal |
Get the indexes used to reconstruct SQLite schema state.
at line 216
array
getForeignKeysForSchemaState(string $table)
| internal |
Get foreign keys with their declared target form for SQLite schema state.
at line 259
protected void
dropSchemaObjects(string $schema, string $statement)
Drop schema objects and reload SQLite's schema cache.
at line 297
mixed
pragma(string $key, mixed $value = null)
Get the value for the given pragma name or set the given value.
at line 310
void
refreshDatabaseFile(string|null $path = null)
Empty the database file.
The caller must ensure that no other connection is using the target database file.
at line 346
protected void
ensureNoActiveTransaction(string $operation)
Ensure a schema operation is not running within a transaction.
at line 398
protected void
ensureForeignKeyConstraintsCanBeChanged()
Ensure foreign key constraints can be changed on this connection.
at line 413
protected array
withoutForeignKeyGuardStatements(array $statements)
Remove the rebuild-only foreign-key guard statements.
at line 438
protected bool
tableHasRows(Blueprint $blueprint)
Determine whether the Blueprint's table contains any rows.