class Builder

Traits

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 int|null $defaultStringLength

The default string length for migrations.

static int|null $defaultTimePrecision

The default time precision for migrations.

static string $defaultMorphKeyType

The default relationship morph key type.

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 database Schema manager.

static void
defaultStringLength(int $length)

Set the default string length for migrations.

static void
defaultTimePrecision(int|null $precision)

Set the default time precision for migrations.

static void
defaultMorphKeyType(string $type)

Set the default morph key type for migrations.

static void
flushState()

Flush all static state.

static void
morphUsingUuids()

Set the default morph key type for migrations to UUIDs.

static void
morphUsingUlids()

Set the default morph key type for migrations to ULIDs.

bool
createDatabase(string $name)

Create a database in the schema.

bool
dropDatabaseIfExists(string $name)

Drop a database from the schema if the database exists.

array
getSchemas()

Get the schemas that belong to the connection.

bool
hasTable(string $table)

Determine if the given table exists.

bool
hasView(string $view)

Determine if the given view exists.

array
getTables(array|string|null $schema = null)

Get the tables that belong to the connection.

array
getTableListing(array|string|null $schema = null, bool $schemaQualified = true)

Get the names of the tables that belong to the connection.

array
getViews(array|string|null $schema = null)

Get the views that belong to the connection.

array
getTypes(array|string|null $schema = null)

Get the user-defined types that belong to the connection.

bool
hasColumn(string $table, string $column)

Determine if the given table has a given column.

bool
hasColumns(string $table, array $columns)

Determine if the given table has given columns.

void
whenTableHasColumn(string $table, string $column, Closure $callback)

Execute a table builder callback if the given table has a given column.

void
whenTableDoesntHaveColumn(string $table, string $column, Closure $callback)

Execute a table builder callback if the given table doesn't have a given column.

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.

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.

string
getColumnType(string $table, string $column, bool $fullDefinition = false)

Get the data type for the given column name.

array
getColumnListing(string $table)

Get the column listing for a given table.

array
getColumns(string $table)

Get the columns for a given table.

array
getIndexes(string $table)

Get the indexes for a given table.

array
getIndexListing(string $table)

Get the names of the indexes for a given table.

bool
hasIndex(string $table, array|string $index, string|null $type = null)

Determine if the given table has a given index.

bool
hasForeignKey(string $table, array|string $foreignKey)

Determine if the table has a given foreign key.

array
getForeignKeys(string $table)

Get the foreign keys for a given table.

void
table(string $table, Closure $callback)

Modify a table on the schema.

void
create(string $table, Closure $callback)

Create a new table on the schema.

void
drop(string $table)

Drop a table from the schema.

void
dropIfExists(string $table)

Drop a table from the schema if it exists.

void
dropColumns(string $table, array|string $columns)

Drop columns from a table schema.

void
dropAllTables()

Drop all tables from the database.

void
dropAllViews()

Drop all views from the database.

void
dropAllTypes()

Drop all types from the database.

void
rename(string $from, string $to)

Rename a table on the schema.

bool
enableForeignKeyConstraints()

Enable foreign key constraints.

bool
disableForeignKeyConstraints()

Disable foreign key constraints.

mixed
withoutForeignKeyConstraints(Closure $callback)

Disable foreign key constraints during the execution of a callback.

void
ensureVectorExtensionExists(string|null $schema = null)

Create the vector extension on the schema if it does not exist.

void
ensureExtensionExists(string $name, string|null $schema = null)

Create a new extension on the schema if it does not exist.

void
build(Blueprint $blueprint)

Execute the blueprint to build / modify the table.

createBlueprint(string $table, Closure|null $callback = null)

Create a new command set with a Closure.

array|null
getCurrentSchemaListing()

Get the names of the current schemas for the connection.

string|null
getCurrentSchemaName()

Get the default schema name for the connection.

array
parseSchemaAndTable(string $reference, bool|string|null $withDefaultSchema = null)

Parse the given database object reference and extract the schema and table.

getConnection()

Get the database connection instance.

void
blueprintResolver(Closure $resolver)

Set the Schema Blueprint resolver callback.

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.

Parameters

string $name
callable|object $macro

Return Value

void

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.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

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

Check if macro is registered.

Parameters

string $name

Return Value

bool

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.

Return Value

void

in Macroable at line 78
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 103
mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

at line 55
__construct(Connection $connection)

Create a new database Schema manager.

Parameters

Connection $connection

at line 67
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.

Parameters

int $length

Return Value

void

at line 78
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.

Parameters

int|null $precision

Return Value

void

at line 91
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.

Parameters

string $type

Return Value

void

Exceptions

InvalidArgumentException

at line 103
static void flushState()

Flush all static state.

Return Value

void

at line 116
static void morphUsingUuids()

Set the default morph key type for migrations to UUIDs.

Boot-only. Sets the worker-wide morph type via defaultMorphKeyType().

Return Value

void

at line 126
static void morphUsingUlids()

Set the default morph key type for migrations to ULIDs.

Boot-only. Sets the worker-wide morph type via defaultMorphKeyType().

Return Value

void

at line 134
bool createDatabase(string $name)

Create a database in the schema.

Parameters

string $name

Return Value

bool

at line 144
bool dropDatabaseIfExists(string $name)

Drop a database from the schema if the database exists.

Parameters

string $name

Return Value

bool

at line 156
array getSchemas()

Get the schemas that belong to the connection.

Return Value

array

at line 166
bool hasTable(string $table)

Determine if the given table exists.

Parameters

string $table

Return Value

bool

at line 188
bool hasView(string $view)

Determine if the given view exists.

Parameters

string $view

Return Value

bool

at line 209
array getTables(array|string|null $schema = null)

Get the tables that belong to the connection.

Parameters

array|string|null $schema

Return Value

array

at line 221
array getTableListing(array|string|null $schema = null, bool $schemaQualified = true)

Get the names of the tables that belong to the connection.

Parameters

array|string|null $schema
bool $schemaQualified

Return Value

array

at line 234
array getViews(array|string|null $schema = null)

Get the views that belong to the connection.

Parameters

array|string|null $schema

Return Value

array

at line 246
array getTypes(array|string|null $schema = null)

Get the user-defined types that belong to the connection.

Parameters

array|string|null $schema

Return Value

array

at line 256
bool hasColumn(string $table, string $column)

Determine if the given table has a given column.

Parameters

string $table
string $column

Return Value

bool

at line 269
bool hasColumns(string $table, array $columns)

Determine if the given table has given columns.

Parameters

string $table
array $columns

Return Value

bool

at line 285
void whenTableHasColumn(string $table, string $column, Closure $callback)

Execute a table builder callback if the given table has a given column.

Parameters

string $table
string $column
Closure $callback

Return Value

void

at line 295
void whenTableDoesntHaveColumn(string $table, string $column, Closure $callback)

Execute a table builder callback if the given table doesn't have a given column.

Parameters

string $table
string $column
Closure $callback

Return Value

void

at line 305
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.

Parameters

string $table
array|string $index
Closure $callback
string|null $type

Return Value

void

at line 315
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.

Parameters

string $table
array|string $index
Closure $callback
string|null $type

Return Value

void

at line 325
string getColumnType(string $table, string $column, bool $fullDefinition = false)

Get the data type for the given column name.

Parameters

string $table
string $column
bool $fullDefinition

Return Value

string

at line 343
array getColumnListing(string $table)

Get the column listing for a given table.

Parameters

string $table

Return Value

array

at line 353
array getColumns(string $table)

Get the columns for a given table.

Parameters

string $table

Return Value

array

at line 371
array getIndexes(string $table)

Get the indexes for a given table.

Parameters

string $table

Return Value

array

at line 389
array getIndexListing(string $table)

Get the names of the indexes for a given table.

Parameters

string $table

Return Value

array

at line 397
bool hasIndex(string $table, array|string $index, string|null $type = null)

Determine if the given table has a given index.

Parameters

string $table
array|string $index
string|null $type

Return Value

bool

at line 418
bool hasForeignKey(string $table, array|string $foreignKey)

Determine if the table has a given foreign key.

Parameters

string $table
array|string $foreignKey

Return Value

bool

at line 432
array getForeignKeys(string $table)

Get the foreign keys for a given table.

Parameters

string $table

Return Value

array

at line 448
void table(string $table, Closure $callback)

Modify a table on the schema.

Parameters

string $table
Closure $callback

Return Value

void

at line 456
void create(string $table, Closure $callback)

Create a new table on the schema.

Parameters

string $table
Closure $callback

Return Value

void

at line 468
void drop(string $table)

Drop a table from the schema.

Parameters

string $table

Return Value

void

at line 478
void dropIfExists(string $table)

Drop a table from the schema if it exists.

Parameters

string $table

Return Value

void

at line 490
void dropColumns(string $table, array|string $columns)

Drop columns from a table schema.

Parameters

string $table
array|string $columns

Return Value

void

at line 502
void dropAllTables()

Drop all tables from the database.

Return Value

void

Exceptions

LogicException

at line 512
void dropAllViews()

Drop all views from the database.

Return Value

void

Exceptions

LogicException

at line 522
void dropAllTypes()

Drop all types from the database.

Return Value

void

Exceptions

LogicException

at line 530
void rename(string $from, string $to)

Rename a table on the schema.

Parameters

string $from
string $to

Return Value

void

at line 540
bool enableForeignKeyConstraints()

Enable foreign key constraints.

Return Value

bool

at line 550
bool disableForeignKeyConstraints()

Disable foreign key constraints.

Return Value

bool

at line 560
mixed withoutForeignKeyConstraints(Closure $callback)

Disable foreign key constraints during the execution of a callback.

Parameters

Closure $callback

Return Value

mixed

at line 574
void ensureVectorExtensionExists(string|null $schema = null)

Create the vector extension on the schema if it does not exist.

Parameters

string|null $schema

Return Value

void

at line 582
void ensureExtensionExists(string $name, string|null $schema = null)

Create a new extension on the schema if it does not exist.

Parameters

string $name
string|null $schema

Return Value

void

at line 599
protected void build(Blueprint $blueprint)

Execute the blueprint to build / modify the table.

Parameters

Blueprint $blueprint

Return Value

void

at line 607
protected Blueprint createBlueprint(string $table, Closure|null $callback = null)

Create a new command set with a Closure.

Parameters

string $table
Closure|null $callback

Return Value

Blueprint

at line 623
array|null getCurrentSchemaListing()

Get the names of the current schemas for the connection.

Return Value

array|null

at line 631
string|null getCurrentSchemaName()

Get the default schema name for the connection.

Return Value

string|null

at line 639
array parseSchemaAndTable(string $reference, bool|string|null $withDefaultSchema = null)

Parse the given database object reference and extract the schema and table.

Parameters

string $reference
bool|string|null $withDefaultSchema

Return Value

array

at line 664
Connection getConnection()

Get the database connection instance.

Return Value

Connection

at line 674
void blueprintResolver(Closure $resolver)

Set the Schema Blueprint resolver callback.

Parameters

Closure $resolver

Return Value

void