Interface SchemaInterface
An interface used by TableSchema objects.
Direct Implementers
Indirect Implementers
Method Summary
-  addColumn() publicAdd a column to the table.
-  baseColumnType() publicReturns the base type name for the provided column. This represent the database type a more complex class is based upon. 
-  columns() publicGet the column names in the table.
-  defaultValues() publicGet a hash of columns and their default values.
-  getColumn() publicGet column data in the table.
-  getColumnType() publicReturns column type or null if a column does not exist.
-  getOptions() publicGets the options for a table.
-  hasColumn() publicReturns true if a column exists in the schema.
-  isNullable() publicCheck whether or not a field is nullable
-  name() publicGet the name of the table.
-  removeColumn() publicRemove a column from the table schema.
-  setColumnType() publicSets the type of a column.
-  setOptions() publicSets the options for a table.
-  typeMap() publicReturns 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 $attrs )
Add a column to the table.
Attributes
Columns can have several attributes:
- 
typeThe type of the column. This should be one of CakePHP's abstract types.
- 
lengthThe length of the column.
- 
precisionThe number of decimal places to store for float and decimal types.
- 
defaultThe default value of the column.
- 
nullWhether or not the column can hold nulls.
- 
fixedWhether or not the column is a fixed length column. This is only present/valid with string columns.
- 
unsignedWhether 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:
- 
commentThe comment for the column.
Parameters
-  string $name
- The name of the column
-  array $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|nullThe base type name
defaultValues()source public
defaultValues( )
Get a hash of columns and their default values.
Returns
arraygetColumn()source public
getColumn( string $name )
Get column data in the table.
Parameters
-  string $name
- The column name.
Returns
array|nullColumn 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|nullgetOptions()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
arrayAn array of options.
hasColumn()source public
hasColumn( string $name )
Returns true if a column exists in the schema.
Parameters
-  string $name
- Column name.
Returns
booleanisNullable()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
booleanWhether or not the field is nullable.
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–2017 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.4/class-Cake.Datasource.SchemaInterface.html