class PostgresBuilder extends Builder

Traits

Properties

static protected array $macros

The registered string macros.

from  Macroable
protected Connection $connection

The database connection instance.

from  Builder
PostgresGrammar $grammar
protected Connection, string, null|Blueprint $resolver

The Blueprint resolver callback.

from  Builder
static int|null $defaultStringLength

The default string length for migrations.

from  Builder
static int|null $defaultTimePrecision

The default time precision for migrations.

from  Builder
static string $defaultMorphKeyType

The default relationship morph key type.

from  Builder

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.

from  Builder
static void
defaultStringLength(int $length)

Set the default string length for migrations.

from  Builder
static void
defaultTimePrecision(int|null $precision)

Set the default time precision for migrations.

from  Builder
static void
defaultMorphKeyType(string $type)

Set the default morph key type for migrations.

from  Builder
static void
flushState()

Flush all static state.

from  Builder
static void
morphUsingUuids()

Set the default morph key type for migrations to UUIDs.

from  Builder
static void
morphUsingUlids()

Set the default morph key type for migrations to ULIDs.

from  Builder
bool
createDatabase(string $name)

Create a database in the schema.

from  Builder
bool
dropDatabaseIfExists(string $name)

Drop a database from the schema if the database exists.

from  Builder
array
getSchemas()

Get the schemas that belong to the connection.

from  Builder
bool
hasTable(string $table)

Determine if the given table exists.

from  Builder
bool
hasView(string $view)

Determine if the given view exists.

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

Get the tables that belong to the connection.

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

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

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

Get the views that belong to the connection.

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

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

from  Builder
bool
hasColumn(string $table, string $column)

Determine if the given table has a given column.

from  Builder
bool
hasColumns(string $table, array $columns)

Determine if the given table has given columns.

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

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

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

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

from  Builder
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.

from  Builder
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.

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

Get the data type for the given column name.

from  Builder
array
getColumnListing(string $table)

Get the column listing for a given table.

from  Builder
array
getColumns(string $table)

Get the columns for a given table.

from  Builder
array
getIndexes(string $table)

Get the indexes for a given table.

from  Builder
array
getIndexListing(string $table)

Get the names of the indexes for a given table.

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

Determine if the given table has a given index.

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

Determine if the table has a given foreign key.

from  Builder
array
getForeignKeys(string $table)

Get the foreign keys for a given table.

from  Builder
void
table(string $table, Closure $callback)

Modify a table on the schema.

from  Builder
void
create(string $table, Closure $callback)

Create a new table on the schema.

from  Builder
void
drop(string $table)

Drop a table from the schema.

from  Builder
void
dropIfExists(string $table)

Drop a table from the schema if it exists.

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

Drop columns from a table schema.

from  Builder
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.

from  Builder
bool
enableForeignKeyConstraints()

Enable foreign key constraints.

from  Builder
bool
disableForeignKeyConstraints()

Disable foreign key constraints.

from  Builder
mixed
withoutForeignKeyConstraints(Closure $callback)

Disable foreign key constraints during the execution of a callback.

from  Builder
void
ensureVectorExtensionExists(string|null $schema = null)

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

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

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

from  Builder
void
build(Blueprint $blueprint)

Execute the blueprint to build / modify the table.

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

Create a new command set with a Closure.

from  Builder
array|null
getCurrentSchemaListing()

Get 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.

from  Builder
getConnection()

Get the database connection instance.

from  Builder
void
blueprintResolver(Closure $resolver)

Set the Schema Blueprint resolver callback.

from  Builder
array
parseSearchPath(string|array|null $searchPath)

Parse the Postgres "search_path" configuration value into an array.

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

in Builder at line 55
__construct(Connection $connection)

Create a new database Schema manager.

Parameters

Connection $connection

in Builder 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

in Builder 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

in Builder 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

in Builder at line 103
static void flushState()

Flush all static state.

Return Value

void

in Builder 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

in Builder 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

in Builder at line 134
bool createDatabase(string $name)

Create a database in the schema.

Parameters

string $name

Return Value

bool

in Builder at line 144
bool dropDatabaseIfExists(string $name)

Drop a database from the schema if the database exists.

Parameters

string $name

Return Value

bool

in Builder at line 156
array getSchemas()

Get the schemas that belong to the connection.

Return Value

array

in Builder at line 166
bool hasTable(string $table)

Determine if the given table exists.

Parameters

string $table

Return Value

bool

in Builder at line 188
bool hasView(string $view)

Determine if the given view exists.

Parameters

string $view

Return Value

bool

in Builder 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

in Builder 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

in Builder 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

in Builder 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

in Builder 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

in Builder 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

in Builder 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

in Builder 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

in Builder 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

in Builder 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

in Builder 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

in Builder at line 343
array getColumnListing(string $table)

Get the column listing for a given table.

Parameters

string $table

Return Value

array

in Builder at line 353
array getColumns(string $table)

Get the columns for a given table.

Parameters

string $table

Return Value

array

in Builder at line 371
array getIndexes(string $table)

Get the indexes for a given table.

Parameters

string $table

Return Value

array

in Builder at line 389
array getIndexListing(string $table)

Get the names of the indexes for a given table.

Parameters

string $table

Return Value

array

in Builder 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

in Builder 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

in Builder at line 432
array getForeignKeys(string $table)

Get the foreign keys for a given table.

Parameters

string $table

Return Value

array

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

Modify a table on the schema.

Parameters

string $table
Closure $callback

Return Value

void

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

Create a new table on the schema.

Parameters

string $table
Closure $callback

Return Value

void

in Builder at line 468
void drop(string $table)

Drop a table from the schema.

Parameters

string $table

Return Value

void

in Builder at line 478
void dropIfExists(string $table)

Drop a table from the schema if it exists.

Parameters

string $table

Return Value

void

in Builder 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 20
void dropAllTables()

Drop all tables from the database.

Return Value

void

at line 45
void dropAllViews()

Drop all views from the database.

Return Value

void

at line 62
void dropAllTypes()

Drop all types from the database.

Return Value

void

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

Rename a table on the schema.

Parameters

string $from
string $to

Return Value

void

in Builder at line 540
bool enableForeignKeyConstraints()

Enable foreign key constraints.

Return Value

bool

in Builder at line 550
bool disableForeignKeyConstraints()

Disable foreign key constraints.

Return Value

bool

in Builder at line 560
mixed withoutForeignKeyConstraints(Closure $callback)

Disable foreign key constraints during the execution of a callback.

Parameters

Closure $callback

Return Value

mixed

in Builder 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

in Builder 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

in Builder at line 599
protected void build(Blueprint $blueprint)

Execute the blueprint to build / modify the table.

Parameters

Blueprint $blueprint

Return Value

void

in Builder 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 90
array|null getCurrentSchemaListing()

Get the current schemas for the connection.

Return Value

array|null

at line 106
string|null getCurrentSchemaName()

Get the default schema name for the connection.

Return Value

string|null

in Builder 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

in Builder at line 664
Connection getConnection()

Get the database connection instance.

Return Value

Connection

in Builder at line 674
void blueprintResolver(Closure $resolver)

Set the Schema Blueprint resolver callback.

Parameters

Closure $resolver

Return Value

void

in ParsesSearchPath at line 12
protected array parseSearchPath(string|array|null $searchPath)

Parse the Postgres "search_path" configuration value into an array.

Parameters

string|array|null $searchPath

Return Value

array