Interface SchemaInterface

An interface used by TableSchema objects.

Direct Implementers

Indirect Implementers

Method Summary

  • addColumn() public
    Add a column to the table.
  • Returns the base type name for the provided column. This represent the database type a more complex class is based upon.

  • columns() public
    Get the column names in the table.
  • Get a hash of columns and their default values.
  • getColumn() public
    Get column data in the table.
  • Returns column type or null if a column does not exist.
  • getOptions() public
    Gets the options for a table.
  • hasColumn() public
    Returns true if a column exists in the schema.
  • isNullable() public
    Check whether or not a field is nullable
  • name() public
    Get the name of the table.
  • Remove a column from the table schema.
  • Sets the type of a column.
  • setOptions() public
    Sets the options for a table.
  • typeMap() public

    Returns an array where the keys are the column names in the schema and the values the database type they have.

Method Detail

addColumn()source public

addColumn( string $name , array|string $attrs )

Add a column to the table.

Attributes

Columns can have several attributes:

  • type The type of the column. This should be one of CakePHP's abstract types.
  • length The length of the column.
  • precision The number of decimal places to store for float and decimal types.
  • default The default value of the column.
  • null Whether or not the column can hold nulls.
  • fixed Whether or not the column is a fixed length column. This is only present/valid with string columns.
  • unsigned Whether or not the column is an unsigned column. This is only present/valid for integer, decimal, float columns.

In addition to the above keys, the following keys are implemented in some database dialects, but not all:

  • comment The comment for the column.

Parameters

string $name
The name of the column
array|string $attrs
The attributes for the column.

Returns


$this

baseColumnType()source public

baseColumnType( string $column )

Returns the base type name for the provided column. This represent the database type a more complex class is based upon.

Parameters

string $column
The column name to get the base type from

Returns

string|null
The base type name

columns()source public

columns( )

Get the column names in the table.

Returns

string[]

defaultValues()source public

defaultValues( )

Get a hash of columns and their default values.

Returns

array

getColumn()source public

getColumn( string $name )

Get column data in the table.

Parameters

string $name
The column name.

Returns

array|null
Column data or null.

getColumnType()source public

getColumnType( string $name )

Returns column type or null if a column does not exist.

Parameters

string $name
The column to get the type of.

Returns

string|null

getOptions()source public

getOptions( )

Gets the options for a table.

Table options allow you to set platform specific table level options. For example the engine type in MySQL.

Returns

array
An array of options.

hasColumn()source public

hasColumn( string $name )

Returns true if a column exists in the schema.

Parameters

string $name
Column name.

Returns

boolean

isNullable()source public

isNullable( string $name )

Check whether or not a field is nullable

Missing columns are nullable.

Parameters

string $name
The column to get the type of.

Returns

boolean
Whether or not the field is nullable.

name()source public

name( )

Get the name of the table.

Returns

string

removeColumn()source public

removeColumn( string $name )

Remove a column from the table schema.

If the column is not defined in the table, no error will be raised.

Parameters

string $name
The name of the column

Returns


$this

setColumnType()source public

setColumnType( string $name , string $type )

Sets the type of a column.

Parameters

string $name
The column to set the type of.
string $type
The type to set the column to.

Returns


$this

setOptions()source public

setOptions( array $options )

Sets the options for a table.

Table options allow you to set platform specific table level options. For example the engine type in MySQL.

Parameters

array $options
The options to set, or null to read options.

Returns


$this

typeMap()source public

typeMap( )

Returns an array where the keys are the column names in the schema and the values the database type they have.

Returns

array

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.8/class-Cake.Datasource.SchemaInterface.html