PostgresGrammar
class PostgresGrammar extends Grammar
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
Wrap a value that has an alias.
Convert an array of column names into a delimited string.
Get the appropriate query parameter place-holder for a value.
Compile a rename column command.
Compile a change column command into a series of SQL statements.
Add the column modifiers to the definition.
Get the primary key command if it exists on the blueprint.
Format a value so that it can be used in "default" clauses.
Create an empty Doctrine DBAL TableDiff from the Blueprint.
Check if this Grammar supports schema changes wrapped in a transaction.
Compile the query to determine if a table exists.
Compile the query to determine the list of columns.
Compile a drop table (if exists) command.
Compile the command to enable foreign key constraints.
Compile the command to disable foreign key constraints.
Get the SQL for an auto-increment column modifier.
Details
in
Grammar at line 22
array
wrapArray(array $values)
Wrap an array of values.
in
Grammar at line 192
string
wrapTable(Expression|string $table)
Wrap a table in keyword identifiers.
in
Grammar at line 206
string
wrap(Expression|string $value, bool $prefixAlias = false)
Wrap a value in keyword identifiers.
in
Grammar at line 72
protected string
wrapAliasedValue(string $value, bool $prefixAlias = false)
Wrap a value that has an alias.
in
Grammar at line 94
protected string
wrapSegments(array $segments)
Wrap the given value segments.
in
Grammar at line 109
protected string
wrapValue(string $value)
Wrap a single string in keyword identifiers.
in
Grammar at line 124
string
columnize(array $columns)
Convert an array of column names into a delimited string.
in
Grammar at line 135
string
parameterize(array $values)
Create query parameter place-holders for an array.
in
Grammar at line 146
string
parameter(mixed $value)
Get the appropriate query parameter place-holder for a value.
in
Grammar at line 157
bool
isExpression(mixed $value)
Determine if the given value is a raw expression.
in
Grammar at line 168
string
getValue(Expression $expression)
Get the value of a raw expression.
in
Grammar at line 178
string
getDateFormat()
Get the format for database stored dates.
in
Grammar at line 188
string
getTablePrefix()
Get the grammar's table prefix.
in
Grammar at line 199
$this
setTablePrefix(string $prefix)
Set the grammar's table prefix.
in
Grammar at line 30
array
compileRenameColumn(Blueprint $blueprint, Fluent $command, Connection $connection)
Compile a rename column command.
in
Grammar at line 45
array
compileChange(Blueprint $blueprint, Fluent $command, Connection $connection)
Compile a change column command into a series of SQL statements.
in
Grammar at line 57
string
compileForeign(Blueprint $blueprint, Fluent $command)
Compile a foreign key command.
in
Grammar at line 96
protected array
getColumns(Blueprint $blueprint)
Compile the blueprint's column definitions.
in
Grammar at line 118
protected string
getType(Fluent $column)
Get the SQL for the column data type.
in
Grammar at line 131
protected string
addModifiers(string $sql, Blueprint $blueprint, Fluent $column)
Add the column modifiers to the definition.
in
Grammar at line 149
protected Fluent|null
getCommandByName(Blueprint $blueprint, string $name)
Get the primary key command if it exists on the blueprint.
in
Grammar at line 165
protected array
getCommandsByName(Blueprint $blueprint, string $name)
Get all of the commands with a given name.
in
Grammar at line 179
array
prefixArray(string $prefix, array $values)
Add a prefix to an array of values.
in
Grammar at line 219
protected string
getDefaultValue(mixed $value)
Format a value so that it can be used in "default" clauses.
in
Grammar at line 237
TableDiff
getDoctrineTableDiff(Blueprint $blueprint, AbstractSchemaManager $schema)
Create an empty Doctrine DBAL TableDiff from the Blueprint.
in
Grammar at line 251
bool
supportsSchemaTransactions()
Check if this Grammar supports schema changes wrapped in a transaction.
at line 36
string
compileTableExists()
Compile the query to determine if a table exists.
at line 47
string
compileColumnListing(string $table)
Compile the query to determine the list of columns.
at line 59
string
compileCreate(Blueprint $blueprint, Fluent $command)
Compile a create table command.
at line 75
string
compileAdd(Blueprint $blueprint, Fluent $command)
Compile a column addition command.
at line 90
string
compilePrimary(Blueprint $blueprint, Fluent $command)
Compile a primary key command.
at line 104
string
compileUnique(Blueprint $blueprint, Fluent $command)
Compile a unique key command.
at line 120
string
compileIndex(Blueprint $blueprint, Fluent $command)
Compile a plain index key command.
at line 149
string
compileDropIfExists(Blueprint $blueprint, Fluent $command)
Compile a drop table (if exists) command.
at line 161
string
compileDropColumn(Blueprint $blueprint, Fluent $command)
Compile a drop column command.
at line 175
string
compileDropPrimary(Blueprint $blueprint, Fluent $command)
Compile a drop primary key command.
at line 189
string
compileDropUnique(Blueprint $blueprint, Fluent $command)
Compile a drop unique key command.
at line 203
string
compileDropIndex(Blueprint $blueprint, Fluent $command)
Compile a drop index command.
at line 215
string
compileDropForeign(Blueprint $blueprint, Fluent $command)
Compile a drop foreign key command.
at line 229
string
compileRename(Blueprint $blueprint, Fluent $command)
Compile a rename table command.
at line 241
string
compileEnableForeignKeyConstraints()
Compile the command to enable foreign key constraints.
at line 251
string
compileDisableForeignKeyConstraints()
Compile the command to disable foreign key constraints.
at line 262
protected string
typeChar(Fluent $column)
Create the column definition for a char type.
at line 273
protected string
typeString(Fluent $column)
Create the column definition for a string type.
at line 284
protected string
typeText(Fluent $column)
Create the column definition for a text type.
at line 295
protected string
typeMediumText(Fluent $column)
Create the column definition for a medium text type.
at line 306
protected string
typeLongText(Fluent $column)
Create the column definition for a long text type.
at line 317
protected string
typeInteger(Fluent $column)
Create the column definition for an integer type.
at line 328
protected string
typeBigInteger(Fluent $column)
Create the column definition for a big integer type.
at line 339
protected string
typeMediumInteger(Fluent $column)
Create the column definition for a medium integer type.
at line 350
protected string
typeTinyInteger(Fluent $column)
Create the column definition for a tiny integer type.
at line 361
protected string
typeSmallInteger(Fluent $column)
Create the column definition for a small integer type.
at line 372
protected string
typeFloat(Fluent $column)
Create the column definition for a float type.
at line 383
protected string
typeDouble(Fluent $column)
Create the column definition for a double type.
at line 394
protected string
typeReal(Fluent $column)
Create the column definition for a real type.
at line 405
protected string
typeDecimal(Fluent $column)
Create the column definition for a decimal type.
at line 416
protected string
typeBoolean(Fluent $column)
Create the column definition for a boolean type.
at line 427
protected string
typeEnum(Fluent $column)
Create the column definition for an enum type.
at line 442
protected string
typeJson(Fluent $column)
Create the column definition for a json type.
at line 453
protected string
typeJsonb(Fluent $column)
Create the column definition for a jsonb type.
at line 464
protected string
typeDate(Fluent $column)
Create the column definition for a date type.
at line 475
protected string
typeDateTime(Fluent $column)
Create the column definition for a date-time type.
at line 486
protected string
typeDateTimeTz(Fluent $column)
Create the column definition for a date-time type.
at line 497
protected string
typeTime(Fluent $column)
Create the column definition for a time type.
at line 508
protected string
typeTimeTz(Fluent $column)
Create the column definition for a time type.
at line 519
protected string
typeTimestamp(Fluent $column)
Create the column definition for a timestamp type.
at line 534
protected string
typeTimestampTz(Fluent $column)
Create the column definition for a timestamp type.
at line 549
protected string
typeBinary(Fluent $column)
Create the column definition for a binary type.
at line 560
protected string
typeUuid(Fluent $column)
Create the column definition for a uuid type.
at line 571
protected string
typeIpAddress(Fluent $column)
Create the column definition for an IP address type.
at line 582
protected string
typeMacAddress(Fluent $column)
Create the column definition for a MAC address type.
at line 594
protected string|null
modifyNullable(Blueprint $blueprint, Fluent $column)
Get the SQL for a nullable column modifier.