PostgresGrammar
class PostgresGrammar extends Grammar (View source)
Traits
| Macroable | 
Properties
| static protected array | $macros | The registered string macros. | from Macroable | 
| protected string | $tablePrefix | The grammar table prefix. | from Grammar | 
| protected bool | $transactions | If this Grammar supports schema changes wrapped in a transaction. | |
| protected array | $fluentCommands | The commands to be executed outside of create or alter command. | |
| protected array | $modifiers | The possible column modifiers. | |
| protected array | $serials | The columns available as serials. | 
Methods
| static void |  macro(string $name, object|callable $macro)  Register a custom macro.  |  from Macroable | 
| static void |  mixin(object $mixin, bool $replace = true)  Mix another object into the class.  |  from Macroable | 
| static bool |  hasMacro(string $name)  Checks if macro is registered.  |  from Macroable | 
| static mixed |  __callStatic(string $method, array $parameters)  Dynamically handle calls to the class.  |  from Macroable | 
| mixed |  __call(string $method, array $parameters)  Dynamically handle calls to the class.  |  from Macroable | 
| 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 | 
| string |  quoteString(string|array $value)  Quote the given string literal.  |  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.  |  |
| 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 | 
| void |  typeComputed(Fluent $column)  Create the column definition for a generated, computed column 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 | 
| array |  getFluentCommands()  Get the fluent commands for the grammar.  |  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()  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 |  compileSpatialIndex(Blueprint $blueprint, Fluent $command)  Compile a spatial 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 |  compileDropAllTables(array $tables)  Compile the SQL needed to drop all tables.  |  |
| string |  compileDropAllViews(array $views)  Compile the SQL needed to drop all views.  |  |
| string |  compileDropAllTypes(array $types)  Compile the SQL needed to drop all types.  |  |
| string |  compileGetAllTables(string|array $schema)  Compile the SQL needed to retrieve all table names.  |  |
| string |  compileGetAllViews(string|array $schema)  Compile the SQL needed to retrieve all view names.  |  |
| string |  compileGetAllTypes()  Compile the SQL needed to retrieve all type names.  |  |
| 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 |  compileDropSpatialIndex(Blueprint $blueprint, Fluent $command)  Compile a drop spatial 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 |  compileRenameIndex(Blueprint $blueprint, Fluent $command)  Compile a rename index command.  |  |
| string |  compileEnableForeignKeyConstraints()  Compile the command to enable foreign key constraints.  |  |
| string |  compileDisableForeignKeyConstraints()  Compile the command to disable foreign key constraints.  |  |
| string |  compileComment(Blueprint $blueprint, Fluent $command)  Compile a comment command.  |  |
| 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 |  generatableColumn(string $type, Fluent $column)  Create the column definition for a generatable column.  |  |
| 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 enumeration 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 (with time zone) type.  |  |
| string |  typeTime(Fluent $column)  Create the column definition for a time type.  |  |
| string |  typeTimeTz(Fluent $column)  Create the column definition for a time (with time zone) type.  |  |
| string |  typeTimestamp(Fluent $column)  Create the column definition for a timestamp type.  |  |
| string |  typeTimestampTz(Fluent $column)  Create the column definition for a timestamp (with time zone) type.  |  |
| string |  typeYear(Fluent $column)  Create the column definition for a year 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 |  typeGeometry(Fluent $column)  Create the column definition for a spatial Geometry type.  |  |
| string |  typePoint(Fluent $column)  Create the column definition for a spatial Point type.  |  |
| string |  typeLineString(Fluent $column)  Create the column definition for a spatial LineString type.  |  |
| string |  typePolygon(Fluent $column)  Create the column definition for a spatial Polygon type.  |  |
| string |  typeGeometryCollection(Fluent $column)  Create the column definition for a spatial GeometryCollection type.  |  |
| string |  typeMultiPoint(Fluent $column)  Create the column definition for a spatial MultiPoint type.  |  |
| string |  typeMultiLineString(Fluent $column)  Create the column definition for a spatial MultiLineString type.  |  |
| string |  typeMultiPolygon(Fluent $column)  Create the column definition for a spatial MultiPolygon type.  |  |
| string |  typeMultiPolygonZ(Fluent $column)  Create the column definition for a spatial MultiPolygonZ type.  |  |
| string|null |  modifyCollate(Blueprint $blueprint, Fluent $column)  Get the SQL for a collation column modifier.  |  |
| 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.  |  |
| string|null |  modifyVirtualAs(Blueprint $blueprint, Fluent $column)  Get the SQL for a generated virtual column modifier.  |  |
| string|null |  modifyStoredAs(Blueprint $blueprint, Fluent $column)  Get the SQL for a generated stored column modifier.  |  
Details
static void macro(string $name, object|callable $macro)
Register a custom macro.
static void mixin(object $mixin, bool $replace = true)
Mix another object into the class.
static bool hasMacro(string $name)
Checks if macro is registered.
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.
array wrapArray(array $values)
Wrap an array of values.
string wrapTable(Expression|string $table)
Wrap a table in keyword identifiers.
string wrap(Expression|string $value, bool $prefixAlias = false)
Wrap a value in keyword identifiers.
protected string wrapAliasedValue(string $value, bool $prefixAlias = false)
Wrap a value that has an alias.
protected string wrapSegments(array $segments)
Wrap the given value segments.
protected string wrapValue(string $value)
Wrap a single string in keyword identifiers.
string columnize(array $columns)
Convert an array of column names into a delimited string.
string parameterize(array $values)
Create query parameter place-holders for an array.
string parameter(mixed $value)
Get the appropriate query parameter place-holder for a value.
string quoteString(string|array $value)
Quote the given string literal.
bool isExpression(mixed $value)
Determine if the given value is a raw expression.
string getValue(Expression $expression)
Get the value of a raw expression.
string getDateFormat()
Get the format for database stored dates.
string getTablePrefix()
Get the grammar's table prefix.
$this setTablePrefix(string $prefix)
Set the grammar's table prefix.
array compileRenameColumn(Blueprint $blueprint, Fluent $command, Connection $connection)
Compile a rename column command.
array compileChange(Blueprint $blueprint, Fluent $command, Connection $connection)
Compile a change column command into a series of SQL statements.
protected array getColumns(Blueprint $blueprint)
Compile the blueprint's column definitions.
protected string getType(Fluent $column)
Get the SQL for the column data type.
protected void typeComputed(Fluent $column)
Create the column definition for a generated, computed column type.
protected string addModifiers(string $sql, Blueprint $blueprint, Fluent $column)
Add the column modifiers to the definition.
protected Fluent|null getCommandByName(Blueprint $blueprint, string $name)
Get the primary key command if it exists on the blueprint.
protected array getCommandsByName(Blueprint $blueprint, string $name)
Get all of the commands with a given name.
array prefixArray(string $prefix, array $values)
Add a prefix to an array of values.
protected string getDefaultValue(mixed $value)
Format a value so that it can be used in "default" clauses.
TableDiff getDoctrineTableDiff(Blueprint $blueprint, AbstractSchemaManager $schema)
Create an empty Doctrine DBAL TableDiff from the Blueprint.
array getFluentCommands()
Get the fluent commands for the grammar.
bool supportsSchemaTransactions()
Check if this Grammar supports schema changes wrapped in a transaction.
string compileTableExists()
Compile the query to determine if a table exists.
string compileColumnListing()
Compile the query to determine the list of columns.
string compileSpatialIndex(Blueprint $blueprint, Fluent $command)
Compile a spatial index key command.
string compileDropIfExists(Blueprint $blueprint, Fluent $command)
Compile a drop table (if exists) command.
string compileDropAllTables(array $tables)
Compile the SQL needed to drop all tables.
string compileDropAllViews(array $views)
Compile the SQL needed to drop all views.
string compileDropAllTypes(array $types)
Compile the SQL needed to drop all types.
string compileGetAllTables(string|array $schema)
Compile the SQL needed to retrieve all table names.
string compileGetAllViews(string|array $schema)
Compile the SQL needed to retrieve all view names.
string compileGetAllTypes()
Compile the SQL needed to retrieve all type names.
string compileDropPrimary(Blueprint $blueprint, Fluent $command)
Compile a drop primary key command.
string compileDropSpatialIndex(Blueprint $blueprint, Fluent $command)
Compile a drop spatial index command.
string compileDropForeign(Blueprint $blueprint, Fluent $command)
Compile a drop foreign key command.
string compileEnableForeignKeyConstraints()
Compile the command to enable foreign key constraints.
string compileDisableForeignKeyConstraints()
Compile the command to disable foreign key constraints.
protected string typeChar(Fluent $column)
Create the column definition for a char type.
protected string typeString(Fluent $column)
Create the column definition for a string type.
protected string typeText(Fluent $column)
Create the column definition for a text type.
protected string typeMediumText(Fluent $column)
Create the column definition for a medium text type.
protected string typeLongText(Fluent $column)
Create the column definition for a long text type.
protected string typeInteger(Fluent $column)
Create the column definition for an integer type.
protected string typeBigInteger(Fluent $column)
Create the column definition for a big integer type.
protected string typeMediumInteger(Fluent $column)
Create the column definition for a medium integer type.
protected string typeTinyInteger(Fluent $column)
Create the column definition for a tiny integer type.
protected string typeSmallInteger(Fluent $column)
Create the column definition for a small integer type.
protected string generatableColumn(string $type, Fluent $column)
Create the column definition for a generatable column.
protected string typeFloat(Fluent $column)
Create the column definition for a float type.
protected string typeDouble(Fluent $column)
Create the column definition for a double type.
protected string typeReal(Fluent $column)
Create the column definition for a real type.
protected string typeDecimal(Fluent $column)
Create the column definition for a decimal type.
protected string typeBoolean(Fluent $column)
Create the column definition for a boolean type.
protected string typeEnum(Fluent $column)
Create the column definition for an enumeration type.
protected string typeJson(Fluent $column)
Create the column definition for a json type.
protected string typeJsonb(Fluent $column)
Create the column definition for a jsonb type.
protected string typeDate(Fluent $column)
Create the column definition for a date type.
protected string typeDateTime(Fluent $column)
Create the column definition for a date-time type.
protected string typeDateTimeTz(Fluent $column)
Create the column definition for a date-time (with time zone) type.
protected string typeTime(Fluent $column)
Create the column definition for a time type.
protected string typeTimeTz(Fluent $column)
Create the column definition for a time (with time zone) type.
protected string typeTimestamp(Fluent $column)
Create the column definition for a timestamp type.
protected string typeTimestampTz(Fluent $column)
Create the column definition for a timestamp (with time zone) type.
protected string typeYear(Fluent $column)
Create the column definition for a year type.
protected string typeBinary(Fluent $column)
Create the column definition for a binary type.
protected string typeUuid(Fluent $column)
Create the column definition for a uuid type.
protected string typeIpAddress(Fluent $column)
Create the column definition for an IP address type.
protected string typeMacAddress(Fluent $column)
Create the column definition for a MAC address type.
protected string typeGeometry(Fluent $column)
Create the column definition for a spatial Geometry type.
protected string typePoint(Fluent $column)
Create the column definition for a spatial Point type.
protected string typeLineString(Fluent $column)
Create the column definition for a spatial LineString type.
protected string typePolygon(Fluent $column)
Create the column definition for a spatial Polygon type.
protected string typeGeometryCollection(Fluent $column)
Create the column definition for a spatial GeometryCollection type.
protected string typeMultiPoint(Fluent $column)
Create the column definition for a spatial MultiPoint type.
string typeMultiLineString(Fluent $column)
Create the column definition for a spatial MultiLineString type.
protected string typeMultiPolygon(Fluent $column)
Create the column definition for a spatial MultiPolygon type.
protected string typeMultiPolygonZ(Fluent $column)
Create the column definition for a spatial MultiPolygonZ type.
protected string|null modifyCollate(Blueprint $blueprint, Fluent $column)
Get the SQL for a collation column modifier.
protected string|null modifyNullable(Blueprint $blueprint, Fluent $column)
Get the SQL for a nullable column modifier.
protected string|null modifyDefault(Blueprint $blueprint, Fluent $column)
Get the SQL for a default column modifier.
protected string|null modifyIncrement(Blueprint $blueprint, Fluent $column)
Get the SQL for an auto-increment column modifier.
protected string|null modifyVirtualAs(Blueprint $blueprint, Fluent $column)
Get the SQL for a generated virtual column modifier.
protected string|null modifyStoredAs(Blueprint $blueprint, Fluent $column)
Get the SQL for a generated stored column modifier.
    © Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
    https://laravel.com/api/6.x/Illuminate/Database/Schema/Grammars/PostgresGrammar.html