Initial commit: apps.supersam24.ru
This commit is contained in:
commit
e955e1da36
6566 files changed
+1271095
No files matched your search
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
*
|
||||
* Licensed under The MIT License
|
||||
* Redistributions of files must retain the above copyright notice.
|
||||
*
|
||||
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||||
* @link http://cakephp.org CakePHP(tm) Project
|
||||
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||||
*/
|
||||
namespace Migrations\Util;
|
||||
|
||||
use Cake\Datasource\ConnectionManager;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
/**
|
||||
* Trait gathering schema collection used for caching
|
||||
*/
|
||||
trait SchemaTrait
|
||||
{
|
||||
|
||||
/**
|
||||
* Helper method to get the schema collection.
|
||||
*
|
||||
* @param \Symfony\Component\Console\Input\InputInterface $input Input object.
|
||||
* @param \Symfony\Component\Console\Input\OutputInterface $output Output object.
|
||||
* @return null|\Cake\Database\Schema\Collection
|
||||
*/
|
||||
protected function _getSchema(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
$connectionName = $input->getOption('connection');
|
||||
$connection = ConnectionManager::get($connectionName);
|
||||
|
||||
if (!method_exists($connection, 'getSchemaCollection')) {
|
||||
$msg = sprintf(
|
||||
'The "%s" connection is not compatible with orm caching, ' .
|
||||
'as it does not implement a "getSchemaCollection()" method.',
|
||||
$connectionName
|
||||
);
|
||||
$output->writeln('<error>' . $msg . '</error>');
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
$config = $connection->config();
|
||||
|
||||
if (empty($config['cacheMetadata'])) {
|
||||
$output->writeln('Metadata cache was disabled in config. Enable to cache or clear.');
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
$connection->cacheMetadata(true);
|
||||
|
||||
return $connection->getSchemaCollection();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user