Builder
class 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. |
|
| protected Grammar | $grammar | The schema grammar instance. |
|
| protected null|Connection, string, null|Blueprint | $resolver | The Blueprint resolver callback. |
|
| static null|non-negative-int | $defaultStringLength | The default string length for migrations. |
|
| static int|null | $defaultTimePrecision | The default time precision for migrations. |
|
| static "int"|"ulid"|"uuid" | $defaultMorphKeyType | The default relationship morph key type. |
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.
Set the default morph key type for migrations to UUIDs.
Set the default morph key type for migrations to ULIDs.
Create a database in the schema.
Drop a database from the schema if the database exists.
Get the schemas that belong to the connection.
Determine if the given table exists.
Determine if the given view 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 column listing for a given table.
Get the column for a given table.
Get the columns for a given table.
Get the indexes for a given table.
Get the names of the indexes for a given table.
Qualify an explicit index name.
Determine if the given table has a given index.
Determine if the table has a given foreign key.
Get the foreign keys for a given table.
Get the partitions of a given table.
Create a partition of a range-partitioned table for the given bounds.
Create the migration repository table for this database driver.
Drop a table from the schema.
Drop a table from the schema if it exists.
Drop columns from a table schema.
Drop all tables from the database.
Drop all views from the database.
Drop all types from the database.
Truncate the given tables if they contain rows.
Remove the partitions whose ancestors are among the given tables or excepted.
Rename a table on the schema.
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 the current schemas for the connection.
Get the default schema name for the connection.
Parse the given database object reference and extract the schema and table.
Get the database connection instance.
Flush all static state.
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.
at line 70
__construct(Connection $connection)
Create a new database Schema manager.
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.
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.
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.
at line 125
static void
morphUsingUuids()
Set the default morph key type for migrations to UUIDs.
Sets the worker-wide morph type via defaultMorphKeyType().
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 145
bool
createDatabase(string $name)
Create a database in the schema.
at line 155
bool
dropDatabaseIfExists(string $name)
Drop a database from the schema if the database exists.
at line 167
array
getSchemas()
Get the schemas that belong to the connection.
at line 177
bool
hasTable(string $table)
Determine if the given table exists.
at line 199
bool
hasView(string $view)
Determine if the given view exists.
at line 220
array
getTables(array|string|null $schema = null)
Get the tables that belong to the connection.
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 245
array
getViews(array|string|null $schema = null)
Get the views that belong to the connection.
at line 257
array
getTypes(array|string|null $schema = null)
Get the user-defined types that belong to the connection.
at line 267
bool
hasColumn(string $table, string $column)
Determine if the given table has a given column.
at line 281
bool
hasColumns(string $table, array $columns)
Determine if the given table has given columns.
at line 298
void
whenTableHasColumn(string $table, string $column, Closure $callback)
Execute a table builder callback if the given table has a given column.
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.
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.
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.
at line 340
string
getColumnType(string $table, string $column, bool $fullDefinition = false)
Get the data type for the given column name.
at line 356
array
getColumnListing(string $table)
Get the column listing for a given table.
at line 366
array
getColumn(string $table, string $column)
Get the column for a given table.
at line 390
array
getColumns(string $table)
Get the columns for a given table.
at line 408
array
getIndexes(string $table)
Get the indexes for a given table.
at line 426
array
getIndexListing(string $table)
Get the names of the indexes for a given table.
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.
at line 450
bool
hasIndex(string $table, array|string $index, string|null $type = null)
Determine if the given table has a given index.
at line 473
bool
hasForeignKey(string $table, array|string $foreignKey)
Determine if the table has a given foreign key.
at line 489
array
getForeignKeys(string $table)
Get the foreign keys for a given table.
at line 507
array
getPartitions(string $table)
Get the partitions of a given table.
at line 523
void
table(string $table, Closure $callback)
Modify a table on the schema.
at line 531
void
create(string $table, Closure $callback)
Create a new table on the schema.
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.
at line 558
void
createMigrationRepositoryTable(string $table)
Create the migration repository table for this database driver.
at line 573
void
drop(string $table)
Drop a table from the schema.
at line 583
void
dropIfExists(string $table)
Drop a table from the schema if it exists.
at line 595
void
dropColumns(string $table, array|string $columns)
Drop columns from a table schema.
at line 607
void
dropAllTables()
Drop all tables from the database.
at line 617
void
dropAllViews()
Drop all views from the database.
at line 627
void
dropAllTypes()
Drop all types from the database.
at line 637
void
truncateTables(array $tables)
Truncate the given tables if they contain rows.
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.
at line 689
void
rename(string $from, string $to)
Rename a table on the schema.
at line 699
bool
enableForeignKeyConstraints()
Enable foreign key constraints.
at line 709
bool
disableForeignKeyConstraints()
Disable foreign key constraints.
at line 724
mixed
withoutForeignKeyConstraints(Closure $callback)
Disable foreign key constraints during the execution of a callback.
at line 756
protected bool
foreignKeyConstraintsAreEnabled()
Determine whether foreign key constraints are enabled.
Drivers that cannot inspect the current mode report enabled so the outer scope applies and restores their normal constraint mode.
at line 764
protected void
setForeignKeyConstraints(bool $enabled)
Set the foreign key constraint state for an internal suppression scope.
at line 784
protected void
executeSessionStatement(string $statement)
Execute internal physical-session maintenance.
at line 792
void
ensureVectorExtensionExists(string|null $schema = null)
Create the vector extension on the schema if it does not exist.
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 819
void
executeBlueprint(Blueprint $blueprint)
Execute the given schema blueprint.
at line 827
protected void
build(Blueprint $blueprint)
Execute the blueprint to build / modify the table.
at line 837
protected void
executeStatements(array $statements)
Execute the given schema statements in order.
at line 849
protected array
selectMetadata(string $query)
Read schema metadata from the same write connection that migrations mutate.
at line 859
protected mixed
scalarMetadata(string $query)
Read a scalar result through the metadata execution hook.
at line 875
protected bool
commandsAreDeclaredOn(Blueprint $blueprint, string $grammar)
Determine whether every executable command is declared by the framework grammar.
at line 893
protected Blueprint
createBlueprint(string $table, Closure|null $callback = null)
Create a new command set with a Closure.
at line 909
array|null
getCurrentSchemaListing()
Get the names of the current schemas for the connection.
at line 917
string|null
getCurrentSchemaName()
Get the default schema name for the connection.
at line 929
array
parseSchemaAndTable(string $reference, bool|string|null $withDefaultSchema = null)
Parse the given database object reference and extract the schema and table.
at line 954
Connection
getConnection()
Get the database connection instance.
at line 964
void
blueprintResolver(Closure $resolver)
Set the Schema Blueprint resolver callback.
at line 972
static void
flushState()
Flush all static state.