You are here

public function DatabaseSize::calculateScore in Site Audit 8.3

.

Overrides SiteAuditCheckBase::calculateScore

File

src/Plugin/SiteAuditCheck/DatabaseSize.php, line 55

Class

DatabaseSize
Provides the CronLast Check.

Namespace

Drupal\site_audit\Plugin\SiteAuditCheck

Code

public function calculateScore() {
  $connection = Database::getConnection();
  try {
    $query = \Drupal::database()
      ->select('information_schema.TABLES', 'ist');
    $query
      ->addExpression('SUM(ist.data_length + ist.index_length)');
    $query
      ->condition('ist.table_schema', $connection
      ->getConnectionOptions()['database']);
    $query
      ->groupBy('ist.table_schema');
    $this->registry->table_size = $query
      ->execute()
      ->fetchField();
    if (!$this->registry->table_size) {
      $this->abort = TRUE;
      return SiteAuditCheckBase::AUDIT_CHECK_SCORE_FAIL;
    }
    return SiteAuditCheckBase::AUDIT_CHECK_SCORE_INFO;
  } catch (Exception $e) {
    return SiteAuditCheckBase::AUDIT_CHECK_SCORE_FAIL;
  }
}