Source of file SizeOfDatabase.php
Size: 0,826 Bytes - Last Modified: 2021-12-23T10:41:57+00:00
/var/www/docs.ssmods.com/process/src/src/Checks/Database/SizeOfDatabase.php
123456789101112131415161718192021222324252627282930313233 | <?php namespace Sunnysideup\HealthCheckProvider\Checks\Database; use SilverStripe\ORM\DB; use Sunnysideup\HealthCheckProvider\Checks\HealthCheckItemRunner; class SizeOfDatabase extends HealthCheckItemRunner { private static $fields_required = [ 'Name', 'Engine', 'Data_length', 'Index_length', 'Collation', ]; public function getCalculatedAnswer(): array { $rows = DB::query('SHOW TABLE STATUS;'); $allowedKeys = $this->Config()->get('fields_required'); $array = $rows; foreach ($array as $pos => $row) { foreach (array_keys($row) as $key) { if (! in_array($key, $allowedKeys, true)) { unset($array[$pos][$key]); } } } return $array; } } |