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 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 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.
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.
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 28
static void
macro(string $name, callable|object $macro)
Register a custom macro.
Boot-only. Macros persist in a static property for the worker lifetime and apply to every subsequent call on the macroable class.
in
Macroable at line 41
static void
mixin(object $mixin, bool $replace = true)
Mix another object into the class.
Boot-only. Delegates to macro() for each method; registered macros persist in a static property for the worker lifetime.
in
Macroable at line 57
static bool
hasMacro(string $name)
Check if macro is registered.
in
Macroable at line 68
static void
flushMacros()
Flush the existing macros.
Boot or tests only. Clears worker-wide macros; concurrent coroutines may resolve different methods depending on timing.
in
Macroable at line 78
static mixed
__callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
in
Macroable at line 103
mixed
__call(string $method, array $parameters)
Dynamically handle calls to the class.
at line 67
__construct(Connection $connection)
Create a new database Schema manager.
at line 81
static void
defaultStringLength(int $length)
Set the default string length for migrations.
Boot-only. The length persists in a static property for the worker lifetime and applies to every Blueprint::string() across all coroutines.
at line 92
static void
defaultTimePrecision(int|null $precision)
Set the default time precision for migrations.
Boot-only. The precision persists in a static property for the worker lifetime and applies to every time/datetime column across all coroutines.
at line 105
static void
defaultMorphKeyType(string $type)
Set the default morph key type for migrations.
Boot-only. The type persists in a static property for the worker lifetime and applies to every morph() column across all coroutines.
at line 119
static void
morphUsingUuids()
Set the default morph key type for migrations to UUIDs.
Boot-only. Sets the worker-wide morph type via defaultMorphKeyType().
at line 129
static void
morphUsingUlids()
Set the default morph key type for migrations to ULIDs.
Boot-only. Sets the worker-wide morph type via defaultMorphKeyType().
at line 137
bool
createDatabase(string $name)
Create a database in the schema.
at line 147
bool
dropDatabaseIfExists(string $name)
Drop a database from the schema if the database exists.
at line 159
array
getSchemas()
Get the schemas that belong to the connection.
at line 169
bool
hasTable(string $table)
Determine if the given table exists.
at line 191
bool
hasView(string $view)
Determine if the given view exists.
at line 212
array
getTables(array|string|null $schema = null)
Get the tables that belong to the connection.
at line 224
array
getTableListing(array|string|null $schema = null, bool $schemaQualified = true)
Get the names of the tables that belong to the connection.
at line 237
array
getViews(array|string|null $schema = null)
Get the views that belong to the connection.
at line 249
array
getTypes(array|string|null $schema = null)
Get the user-defined types that belong to the connection.
at line 259
bool
hasColumn(string $table, string $column)
Determine if the given table has a given column.
at line 272
bool
hasColumns(string $table, array $columns)
Determine if the given table has given columns.
at line 289
void
whenTableHasColumn(string $table, string $column, Closure $callback)
Execute a table builder callback if the given table has a given column.
at line 299
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 309
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 319
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 331
string
getColumnType(string $table, string $column, bool $fullDefinition = false)
Get the data type for the given column name.
at line 349
array
getColumnListing(string $table)
Get the column listing for a given table.
at line 359
array
getColumns(string $table)
Get the columns for a given table.
at line 377
array
getIndexes(string $table)
Get the indexes for a given table.
at line 395
array
getIndexListing(string $table)
Get the names of the indexes for a given table.
at line 407
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 419
bool
hasIndex(string $table, array|string $index, string|null $type = null)
Determine if the given table has a given index.
at line 442
bool
hasForeignKey(string $table, array|string $foreignKey)
Determine if the table has a given foreign key.
at line 458
array
getForeignKeys(string $table)
Get the foreign keys for a given table.
at line 474
void
table(string $table, Closure $callback)
Modify a table on the schema.
at line 482
void
create(string $table, Closure $callback)
Create a new table on the schema.
at line 494
void
createMigrationRepositoryTable(string $table)
Create the migration repository table for this database driver.
at line 509
void
drop(string $table)
Drop a table from the schema.
at line 519
void
dropIfExists(string $table)
Drop a table from the schema if it exists.
at line 531
void
dropColumns(string $table, array|string $columns)
Drop columns from a table schema.
at line 543
void
dropAllTables()
Drop all tables from the database.
at line 553
void
dropAllViews()
Drop all views from the database.
at line 563
void
dropAllTypes()
Drop all types from the database.
at line 573
void
truncateTables(array $tables)
Truncate the given tables if they contain rows.
at line 588
void
rename(string $from, string $to)
Rename a table on the schema.
at line 598
bool
enableForeignKeyConstraints()
Enable foreign key constraints.
at line 608
bool
disableForeignKeyConstraints()
Disable foreign key constraints.
at line 623
mixed
withoutForeignKeyConstraints(Closure $callback)
Disable foreign key constraints during the execution of a callback.
at line 655
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 663
protected void
setForeignKeyConstraints(bool $enabled)
Set the foreign key constraint state for an internal suppression scope.
at line 683
protected void
executeSessionStatement(string $statement)
Execute internal physical-session maintenance.
at line 691
void
ensureVectorExtensionExists(string|null $schema = null)
Create the vector extension on the schema if it does not exist.
at line 701
void
ensureExtensionExists(string $name, string|null $schema = null)
Create a new extension on the schema if it does not exist.
at line 718
void
executeBlueprint(Blueprint $blueprint)
Execute the given schema blueprint.
at line 726
protected void
build(Blueprint $blueprint)
Execute the blueprint to build / modify the table.
at line 736
protected void
executeStatements(array $statements)
Execute the given schema statements in order.
at line 748
protected array
selectMetadata(string $query)
Read schema metadata from the same write connection that migrations mutate.
at line 758
protected mixed
scalarMetadata(string $query)
Read a scalar result through the metadata execution hook.
at line 774
protected bool
commandsAreDeclaredOn(Blueprint $blueprint, string $grammar)
Determine whether every executable command is declared by the framework grammar.
at line 792
protected Blueprint
createBlueprint(string $table, Closure|null $callback = null)
Create a new command set with a Closure.
at line 808
array|null
getCurrentSchemaListing()
Get the names of the current schemas for the connection.
at line 816
string|null
getCurrentSchemaName()
Get the default schema name for the connection.
at line 828
array
parseSchemaAndTable(string $reference, bool|string|null $withDefaultSchema = null)
Parse the given database object reference and extract the schema and table.
at line 853
Connection
getConnection()
Get the database connection instance.
at line 863
void
blueprintResolver(Closure $resolver)
Set the Schema Blueprint resolver callback.
at line 871
static void
flushState()
Flush all static state.