PostgresGrammar

class PostgresGrammar extends Grammar (View source)

Properties

protected string $tablePrefix The grammar table prefix. from Grammar
protected bool $transactions If this Grammar supports schema changes wrapped in a transaction.
protected array $modifiers The possible column modifiers.
protected array $serials The columns available as serials.

Methods

array wrapArray(array $values)

Wrap an array of values.

from Grammar
string wrapTable(Expression|string $table)

Wrap a table in keyword identifiers.

from Grammar
string wrap(Expression|string $value, bool $prefixAlias = false)

Wrap a value in keyword identifiers.

from Grammar
string wrapAliasedValue(string $value, bool $prefixAlias = false)

Wrap a value that has an alias.

from Grammar
string wrapSegments(array $segments)

Wrap the given value segments.

from Grammar
string wrapValue(string $value)

Wrap a single string in keyword identifiers.

from Grammar
string columnize(array $columns)

Convert an array of column names into a delimited string.

from Grammar
string parameterize(array $values)

Create query parameter place-holders for an array.

from Grammar
string parameter(mixed $value)

Get the appropriate query parameter place-holder for a value.

from Grammar
bool isExpression(mixed $value)

Determine if the given value is a raw expression.

from Grammar
string getValue(Expression $expression)

Get the value of a raw expression.

from Grammar
string getDateFormat()

Get the format for database stored dates.

from Grammar
string getTablePrefix()

Get the grammar's table prefix.

from Grammar
$this setTablePrefix(string $prefix)

Set the grammar's table prefix.

from Grammar
array compileRenameColumn(Blueprint $blueprint, Fluent $command, Connection $connection)

Compile a rename column command.

from Grammar
array compileChange(Blueprint $blueprint, Fluent $command, Connection $connection)

Compile a change column command into a series of SQL statements.

from Grammar
string compileForeign(Blueprint $blueprint, Fluent $command)

Compile a foreign key command.

from Grammar
array getColumns(Blueprint $blueprint)

Compile the blueprint's column definitions.

from Grammar
string getType(Fluent $column)

Get the SQL for the column data type.

from Grammar
string addModifiers(string $sql, Blueprint $blueprint, Fluent $column)

Add the column modifiers to the definition.

from Grammar
Fluent|null getCommandByName(Blueprint $blueprint, string $name)

Get the primary key command if it exists on the blueprint.

from Grammar
array getCommandsByName(Blueprint $blueprint, string $name)

Get all of the commands with a given name.

from Grammar
array prefixArray(string $prefix, array $values)

Add a prefix to an array of values.

from Grammar
string getDefaultValue(mixed $value)

Format a value so that it can be used in "default" clauses.

from Grammar
TableDiff getDoctrineTableDiff(Blueprint $blueprint, AbstractSchemaManager $schema)

Create an empty Doctrine DBAL TableDiff from the Blueprint.

from Grammar
bool supportsSchemaTransactions()

Check if this Grammar supports schema changes wrapped in a transaction.

from Grammar
string compileTableExists()

Compile the query to determine if a table exists.

string compileColumnListing(string $table)

Compile the query to determine the list of columns.

string compileCreate(Blueprint $blueprint, Fluent $command)

Compile a create table command.

string compileAdd(Blueprint $blueprint, Fluent $command)

Compile a column addition command.

string compilePrimary(Blueprint $blueprint, Fluent $command)

Compile a primary key command.

string compileUnique(Blueprint $blueprint, Fluent $command)

Compile a unique key command.

string compileIndex(Blueprint $blueprint, Fluent $command)

Compile a plain index key command.

string compileDrop(Blueprint $blueprint, Fluent $command)

Compile a drop table command.

string compileDropIfExists(Blueprint $blueprint, Fluent $command)

Compile a drop table (if exists) command.

string compileDropColumn(Blueprint $blueprint, Fluent $command)

Compile a drop column command.

string compileDropPrimary(Blueprint $blueprint, Fluent $command)

Compile a drop primary key command.

string compileDropUnique(Blueprint $blueprint, Fluent $command)

Compile a drop unique key command.

string compileDropIndex(Blueprint $blueprint, Fluent $command)

Compile a drop index command.

string compileDropForeign(Blueprint $blueprint, Fluent $command)

Compile a drop foreign key command.

string compileRename(Blueprint $blueprint, Fluent $command)

Compile a rename table command.

string compileEnableForeignKeyConstraints()

Compile the command to enable foreign key constraints.

string compileDisableForeignKeyConstraints()

Compile the command to disable foreign key constraints.

string typeChar(Fluent $column)

Create the column definition for a char type.

string typeString(Fluent $column)

Create the column definition for a string type.

string typeText(Fluent $column)

Create the column definition for a text type.

string typeMediumText(Fluent $column)

Create the column definition for a medium text type.

string typeLongText(Fluent $column)

Create the column definition for a long text type.

string typeInteger(Fluent $column)

Create the column definition for an integer type.

string typeBigInteger(Fluent $column)

Create the column definition for a big integer type.

string typeMediumInteger(Fluent $column)

Create the column definition for a medium integer type.

string typeTinyInteger(Fluent $column)

Create the column definition for a tiny integer type.

string typeSmallInteger(Fluent $column)

Create the column definition for a small integer type.

string typeFloat(Fluent $column)

Create the column definition for a float type.

string typeDouble(Fluent $column)

Create the column definition for a double type.

string typeReal(Fluent $column)

Create the column definition for a real type.

string typeDecimal(Fluent $column)

Create the column definition for a decimal type.

string typeBoolean(Fluent $column)

Create the column definition for a boolean type.

string typeEnum(Fluent $column)

Create the column definition for an enum type.

string typeJson(Fluent $column)

Create the column definition for a json type.

string typeJsonb(Fluent $column)

Create the column definition for a jsonb type.

string typeDate(Fluent $column)

Create the column definition for a date type.

string typeDateTime(Fluent $column)

Create the column definition for a date-time type.

string typeDateTimeTz(Fluent $column)

Create the column definition for a date-time type.

string typeTime(Fluent $column)

Create the column definition for a time type.

string typeTimeTz(Fluent $column)

Create the column definition for a time type.

string typeTimestamp(Fluent $column)

Create the column definition for a timestamp type.

string typeTimestampTz(Fluent $column)

Create the column definition for a timestamp type.

string typeBinary(Fluent $column)

Create the column definition for a binary type.

string typeUuid(Fluent $column)

Create the column definition for a uuid type.

string typeIpAddress(Fluent $column)

Create the column definition for an IP address type.

string typeMacAddress(Fluent $column)

Create the column definition for a MAC address type.

string|null modifyNullable(Blueprint $blueprint, Fluent $column)

Get the SQL for a nullable column modifier.

string|null modifyDefault(Blueprint $blueprint, Fluent $column)

Get the SQL for a default column modifier.

string|null modifyIncrement(Blueprint $blueprint, Fluent $column)

Get the SQL for an auto-increment column modifier.

Details

array wrapArray(array $values)

Wrap an array of values.

Parameters

array $values

Return Value

array

string wrapTable(Expression|string $table)

Wrap a table in keyword identifiers.

Parameters

Expression|string $table

Return Value

string

string wrap(Expression|string $value, bool $prefixAlias = false)

Wrap a value in keyword identifiers.

Parameters

Expression|string $value
bool $prefixAlias

Return Value

string

protected string wrapAliasedValue(string $value, bool $prefixAlias = false)

Wrap a value that has an alias.

Parameters

string $value
bool $prefixAlias

Return Value

string

protected string wrapSegments(array $segments)

Wrap the given value segments.

Parameters

array $segments

Return Value

string

protected string wrapValue(string $value)

Wrap a single string in keyword identifiers.

Parameters

string $value

Return Value

string

string columnize(array $columns)

Convert an array of column names into a delimited string.

Parameters

array $columns

Return Value

string

string parameterize(array $values)

Create query parameter place-holders for an array.

Parameters

array $values

Return Value

string

string parameter(mixed $value)

Get the appropriate query parameter place-holder for a value.

Parameters

mixed $value

Return Value

string

bool isExpression(mixed $value)

Determine if the given value is a raw expression.

Parameters

mixed $value

Return Value

bool

string getValue(Expression $expression)

Get the value of a raw expression.

Parameters

Expression $expression

Return Value

string

string getDateFormat()

Get the format for database stored dates.

Return Value

string

string getTablePrefix()

Get the grammar's table prefix.

Return Value

string

$this setTablePrefix(string $prefix)

Set the grammar's table prefix.

Parameters

string $prefix

Return Value

$this

array compileRenameColumn(Blueprint $blueprint, Fluent $command, Connection $connection)

Compile a rename column command.

Parameters

Blueprint $blueprint
Fluent $command
Connection $connection

Return Value

array

array compileChange(Blueprint $blueprint, Fluent $command, Connection $connection)

Compile a change column command into a series of SQL statements.

Parameters

Blueprint $blueprint
Fluent $command
Connection $connection

Return Value

array

Exceptions

RuntimeException

string compileForeign(Blueprint $blueprint, Fluent $command)

Compile a foreign key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

protected array getColumns(Blueprint $blueprint)

Compile the blueprint's column definitions.

Parameters

Blueprint $blueprint

Return Value

array

protected string getType(Fluent $column)

Get the SQL for the column data type.

Parameters

Fluent $column

Return Value

string

protected string addModifiers(string $sql, Blueprint $blueprint, Fluent $column)

Add the column modifiers to the definition.

Parameters

string $sql
Blueprint $blueprint
Fluent $column

Return Value

string

protected Fluent|null getCommandByName(Blueprint $blueprint, string $name)

Get the primary key command if it exists on the blueprint.

Parameters

Blueprint $blueprint
string $name

Return Value

Fluent|null

protected array getCommandsByName(Blueprint $blueprint, string $name)

Get all of the commands with a given name.

Parameters

Blueprint $blueprint
string $name

Return Value

array

array prefixArray(string $prefix, array $values)

Add a prefix to an array of values.

Parameters

string $prefix
array $values

Return Value

array

protected string getDefaultValue(mixed $value)

Format a value so that it can be used in "default" clauses.

Parameters

mixed $value

Return Value

string

TableDiff getDoctrineTableDiff(Blueprint $blueprint, AbstractSchemaManager $schema)

Create an empty Doctrine DBAL TableDiff from the Blueprint.

Parameters

Blueprint $blueprint
AbstractSchemaManager $schema

Return Value

TableDiff

bool supportsSchemaTransactions()

Check if this Grammar supports schema changes wrapped in a transaction.

Return Value

bool

string compileTableExists()

Compile the query to determine if a table exists.

Return Value

string

string compileColumnListing(string $table)

Compile the query to determine the list of columns.

Parameters

string $table

Return Value

string

string compileCreate(Blueprint $blueprint, Fluent $command)

Compile a create table command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compileAdd(Blueprint $blueprint, Fluent $command)

Compile a column addition command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compilePrimary(Blueprint $blueprint, Fluent $command)

Compile a primary key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compileUnique(Blueprint $blueprint, Fluent $command)

Compile a unique key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compileIndex(Blueprint $blueprint, Fluent $command)

Compile a plain index key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compileDrop(Blueprint $blueprint, Fluent $command)

Compile a drop table command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compileDropIfExists(Blueprint $blueprint, Fluent $command)

Compile a drop table (if exists) command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compileDropColumn(Blueprint $blueprint, Fluent $command)

Compile a drop column command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compileDropPrimary(Blueprint $blueprint, Fluent $command)

Compile a drop primary key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compileDropUnique(Blueprint $blueprint, Fluent $command)

Compile a drop unique key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compileDropIndex(Blueprint $blueprint, Fluent $command)

Compile a drop index command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compileDropForeign(Blueprint $blueprint, Fluent $command)

Compile a drop foreign key command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compileRename(Blueprint $blueprint, Fluent $command)

Compile a rename table command.

Parameters

Blueprint $blueprint
Fluent $command

Return Value

string

string compileEnableForeignKeyConstraints()

Compile the command to enable foreign key constraints.

Return Value

string

string compileDisableForeignKeyConstraints()

Compile the command to disable foreign key constraints.

Return Value

string

protected string typeChar(Fluent $column)

Create the column definition for a char type.

Parameters

Fluent $column

Return Value

string

protected string typeString(Fluent $column)

Create the column definition for a string type.

Parameters

Fluent $column

Return Value

string

protected string typeText(Fluent $column)

Create the column definition for a text type.

Parameters

Fluent $column

Return Value

string

protected string typeMediumText(Fluent $column)

Create the column definition for a medium text type.

Parameters

Fluent $column

Return Value

string

protected string typeLongText(Fluent $column)

Create the column definition for a long text type.

Parameters

Fluent $column

Return Value

string

protected string typeInteger(Fluent $column)

Create the column definition for an integer type.

Parameters

Fluent $column

Return Value

string

protected string typeBigInteger(Fluent $column)

Create the column definition for a big integer type.

Parameters

Fluent $column

Return Value

string

protected string typeMediumInteger(Fluent $column)

Create the column definition for a medium integer type.

Parameters

Fluent $column

Return Value

string

protected string typeTinyInteger(Fluent $column)

Create the column definition for a tiny integer type.

Parameters

Fluent $column

Return Value

string

protected string typeSmallInteger(Fluent $column)

Create the column definition for a small integer type.

Parameters

Fluent $column

Return Value

string

protected string typeFloat(Fluent $column)

Create the column definition for a float type.

Parameters

Fluent $column

Return Value

string

protected string typeDouble(Fluent $column)

Create the column definition for a double type.

Parameters

Fluent $column

Return Value

string

protected string typeReal(Fluent $column)

Create the column definition for a real type.

Parameters

Fluent $column

Return Value

string

protected string typeDecimal(Fluent $column)

Create the column definition for a decimal type.

Parameters

Fluent $column

Return Value

string

protected string typeBoolean(Fluent $column)

Create the column definition for a boolean type.

Parameters

Fluent $column

Return Value

string

protected string typeEnum(Fluent $column)

Create the column definition for an enum type.

Parameters

Fluent $column

Return Value

string

protected string typeJson(Fluent $column)

Create the column definition for a json type.

Parameters

Fluent $column

Return Value

string

protected string typeJsonb(Fluent $column)

Create the column definition for a jsonb type.

Parameters

Fluent $column

Return Value

string

protected string typeDate(Fluent $column)

Create the column definition for a date type.

Parameters

Fluent $column

Return Value

string

protected string typeDateTime(Fluent $column)

Create the column definition for a date-time type.

Parameters

Fluent $column

Return Value

string

protected string typeDateTimeTz(Fluent $column)

Create the column definition for a date-time type.

Parameters

Fluent $column

Return Value

string

protected string typeTime(Fluent $column)

Create the column definition for a time type.

Parameters

Fluent $column

Return Value

string

protected string typeTimeTz(Fluent $column)

Create the column definition for a time type.

Parameters

Fluent $column

Return Value

string

protected string typeTimestamp(Fluent $column)

Create the column definition for a timestamp type.

Parameters

Fluent $column

Return Value

string

protected string typeTimestampTz(Fluent $column)

Create the column definition for a timestamp type.

Parameters

Fluent $column

Return Value

string

protected string typeBinary(Fluent $column)

Create the column definition for a binary type.

Parameters

Fluent $column

Return Value

string

protected string typeUuid(Fluent $column)

Create the column definition for a uuid type.

Parameters

Fluent $column

Return Value

string

protected string typeIpAddress(Fluent $column)

Create the column definition for an IP address type.

Parameters

Fluent $column

Return Value

string

protected string typeMacAddress(Fluent $column)

Create the column definition for a MAC address type.

Parameters

Fluent $column

Return Value

string

protected string|null modifyNullable(Blueprint $blueprint, Fluent $column)

Get the SQL for a nullable column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null

protected string|null modifyDefault(Blueprint $blueprint, Fluent $column)

Get the SQL for a default column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null

protected string|null modifyIncrement(Blueprint $blueprint, Fluent $column)

Get the SQL for an auto-increment column modifier.

Parameters

Blueprint $blueprint
Fluent $column

Return Value

string|null

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.4/Illuminate/Database/Schema/Grammars/PostgresGrammar.html