Check if the cache bin exists and create it if not.
protected function ensureBinExists() {
try {
$database_schema = $this->connection
->schema();
if (!$database_schema
->tableExists($this->bin)) {
$schema_definition = $this
->schemaDefinition();
$database_schema
->createTable($this->bin, $schema_definition['bin']);
// If the bin doesn't exist, the cache tags table may also not exist.
if (!$database_schema
->tableExists('cache_tags')) {
$database_schema
->createTable('cache_tags', $schema_definition['cache_tags']);
}
return TRUE;
}
} catch (SchemaObjectExistsException $e) {
return TRUE;
}
return FALSE;
}