Class SchemaCache
Schema Cache.
This tool is intended to be used by deployment scripts so that you can prevent thundering herd effects on the metadata cache when new versions of your application are deployed, or when migrations requiring updated metadata are required.
Namespace: Cake\Database
Link: https://en.wikipedia.org/wiki/Thundering_herd_problem About the thundering herd problem
Link: https://en.wikipedia.org/wiki/Thundering_herd_problem About the thundering herd problem
Property Summary
-
$_schema protected
Cake\Database\Schema\CachedCollection
Schema
Method Summary
-
__construct() public
Constructor
-
build() public
Build metadata.
-
clear() public
Clear metadata.
-
getSchema() public
Helper method to get the schema collection.
Method Detail
__construct() ¶ public
__construct(string|Cake\Datasource\ConnectionInterface $connection)
Constructor
Parameters
-
string|Cake\Datasource\ConnectionInterface
$connection Connection name to get the schema for or a connection instance
build() ¶ public
build(string|null $name = null): array
Build metadata.
Parameters
-
string|null
$name optional The name of the table to build cache data for.
Returns
array
clear() ¶ public
clear(string|null $name = null): array
Clear metadata.
Parameters
-
string|null
$name optional The name of the table to clear cache data for.
Returns
array
getSchema() ¶ public
getSchema(Cake\Database\Connection $connection): Cake\Database\Schema\Collection|Cake\Database\Schema\CachedCollection
Helper method to get the schema collection.
Parameters
-
Cake\Database\Connection
$connection Connection object
Returns
Cake\Database\Schema\Collection|Cake\Database\Schema\CachedCollection
Throws
RuntimeException
If given connection object is not compatible with schema caching