On this page
Class CakeSchema
Base Class for Schema management.
- CakeObject
- CakeSchema 
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/Model/CakeSchema.php
Properties summary
- 
    $connectionpublicConnection used for read.string
- 
    $filepublicFile to write.string
- 
    $namepublicName of the schema.string
- 
    $pathpublicPath to write location.string
- 
    $pluginpublicPlugin name.string
- 
    $tablespublicSet of tables.array
Method Summary
- 
    __construct() publicConstructor
- 
    _arrayDiffAssoc() protectedExtended array_diff_assoc noticing change from/to NULL values.
- 
    _columns() protectedFormats Schema columns from Model Object.
- 
    _compareIndexes() protectedCompare two schema indexes.
- 
    _compareTableParameters() protectedCompare two schema files table Parameters.
- 
    _noPrefixTable() protectedTrim the table prefix from the full table name, and return the prefix-less table. 
- 
    _requireFile() protectedAttempts to require the schema file specified.
- 
    _values() protectedFormats Schema columns from Model Object.
- 
    after() publicAfter callback to be implemented in subclasses.
- 
    before() publicBefore callback to be implemented in subclasses.
- 
    build() publicBuilds schema object properties.
- 
    compare() publicCompares two sets of schemas.
- 
    generateTable() publicGenerate the schema code for a table.
- 
    load() publicReads database and creates schema tables.
- 
    read() publicReads database and creates schema tables.
- 
    write() publicWrites schema file from object or options.
Method Detail
__construct()source public
__construct( array $options array() )Constructor
Parameters
- 
     array $optionsoptional array()
- Optional load object properties.
Overrides
CakeObject::__construct()
  _arrayDiffAssoc()source protected
_arrayDiffAssoc( array $array1 , array $array2 )Extended array_diff_assoc noticing change from/to NULL values.
It behaves almost the same way as array_diff_assoc except for NULL values: if one of the values is not NULL - change is detected. It is useful in situation where one value is strval('') ant other is strval(null) - in string comparing methods this results as EQUAL, while it is not.
Parameters
- 
     array $array1
- Base array.
- 
     array $array2
- Corresponding array checked for equality.
Returns
arrayDifference as array with array(keys => values) from input array where match was not found.
_columns()source protected
_columns( array $Obj )Formats Schema columns from Model Object.
Parameters
- 
     array $Obj
- $Obj model object.
Returns
arrayFormatted columns.
_compareIndexes()source protected
_compareIndexes( array $new , array $old )Compare two schema indexes.
Parameters
- 
     array $new
- New indexes.
- 
     array $old
- Old indexes.
Returns
mixedFalse on failure or array of indexes to add and drop.
_compareTableParameters()source protected
_compareTableParameters( array $new , array $old )Compare two schema files table Parameters.
Parameters
- 
     array $new
- New indexes.
- 
     array $old
- Old indexes.
Returns
mixedFalse on failure, or an array of parameters to add & drop.
_noPrefixTable()source protected
_noPrefixTable( string $prefix , string $table )Trim the table prefix from the full table name, and return the prefix-less table.
Parameters
- 
     string $prefix
- Table prefix.
- 
     string $table
- Full table name.
Returns
stringPrefix-less table name.
_requireFile()source protected
_requireFile( string $path , string $file )Attempts to require the schema file specified.
Parameters
- 
     string $path
- Filesystem path to the file.
- 
     string $file
- Filesystem basename of the file.
Returns
booleanTrue when a file was successfully included, false on failure.
_values()source protected
_values( array $values )Formats Schema columns from Model Object.
Parameters
- 
     array $values
- Options keys(type, null, default, key, length, extra).
Returns
arrayFormatted values.
after()source public
after( array $event array() )After callback to be implemented in subclasses.
Parameters
- 
     array $eventoptional array()
- Schema object properties.
before()source public
before( array $event array() )Before callback to be implemented in subclasses.
Parameters
- 
     array $eventoptional array()
- Schema object properties.
Returns
booleanShould process continue.
build()source public
build( array $data )Builds schema object properties.
Parameters
- 
     array $data
- Loaded object properties.
compare()source public
compare( array|object $old , array|object $new null )Compares two sets of schemas.
Parameters
- 
     array|object $old
- Schema object or array.
- 
     array|object $newoptional null
- Schema object or array.
Returns
arrayTables (that are added, dropped, or changed.)
generateTable()source public
generateTable( string $table , array $fields )Generate the schema code for a table.
Takes a table name and $fields array and returns a completed, escaped variable declaration to be used in schema classes.
Parameters
- 
     string $table
- Table name you want returned.
- 
     array $fields
- Array of field information to generate the table with.
Returns
stringVariable declaration for a schema class.
Throws
Exceptionload()source public
load( array $options array() )Reads database and creates schema tables.
Parameters
- 
     array $optionsoptional array()
- Schema object properties.
Returns
array|booleanSet of name and tables.
read()source public
read( array $options array() )Reads database and creates schema tables.
Options
- 'connection' - the db connection to use
- 'name' - name of the schema
- 'models' - a list of models to use, or false to ignore models
Parameters
- 
     array $optionsoptional array()
- Schema object properties.
Returns
arrayArray indexed by name and tables.
write()source public
write( array|object $object , array $options array() )Writes schema file from object or options.
Parameters
- 
     array|object $object
- Schema object or options array.
- 
     array $optionsoptional array()
- Schema object properties to override object.
Returns
mixedFalse or string written to file.
Methods inherited from CakeObject
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )Merges this objects $property with the property in $class' definition. This classes value for the property will be merged on top of $class'
This provides some of the DRY magic CakePHP provides. If you want to shut it off, redefine this method as an empty function.
Parameters
- 
     array $properties
- The name of the properties to merge.
- 
     string $class
- The class to merge the property with.
- 
     boolean $normalizeoptional true
- Set to true to run the properties through Hash::normalize() before merging.
_set()source protected
_set( array $properties array() )Allows setting of multiple properties of the object in a single line of code. Will only set properties that are part of a class declaration.
Parameters
- 
     array $propertiesoptional array()
- An associative array containing properties and corresponding values.
_stop()source protected
_stop( integer|string $status 0 )Stop execution of the current script. Wraps exit() making testing easier.
Parameters
- 
     integer|string $statusoptional 0
- see http://php.net/exit for values
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )Calls a method on this object with the given parameters. Provides an OO wrapper for call_user_func_array
Parameters
- 
     string $method
- Name of the method to call
- 
     array $paramsoptional array()
- Parameter list to use when calling $method
Returns
mixedReturns the result of the method call
log()source public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )Convenience method to write a message to CakeLog. See CakeLog::write() for more information on writing to logs.
Parameters
- 
     string $msg
- Log message
- 
     integer $typeoptional LOG_ERR
- Error type constant. Defined in app/Config/core.php.
- 
     null|string|array $scopeoptional null
- 
     The scope(s) a log message is being created in. See CakeLog::config() for more information on logging scopes. 
Returns
booleanSuccess of log write
requestAction()source public
requestAction( string|array $url , array $extra array() )Calls a controller's method from any location. Can be used to connect controllers together or tie plugins into a main application. requestAction can be used to return rendered views or fetch the return value from controller actions.
Under the hood this method uses Router::reverse() to convert the $url parameter into a string URL. You should use URL formats that are compatible with Router::reverse()
Passing POST and GET data
POST and GET data can be simulated in requestAction. Use $extra['url'] for GET data. The $extra['data'] parameter allows POST data simulation.
Parameters
- 
     string|array $url
- 
     String or array-based URL. Unlike other URL arrays in CakePHP, this URL will not automatically handle passed and named arguments in the $url parameter. 
- 
     array $extraoptional array()
- 
     if array includes the key "return" it sets the AutoRender to true. Can also be used to submit GET/POST data, and named/passed arguments. 
Returns
mixedBoolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.
toString()source public
toString( )CakeObject-to-string conversion. Each class can override this method as necessary.
Returns
stringThe name of this class
Properties detail
© 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/2.10/class-CakeSchema.html