Update database_maintenance (#7037)
This commit is contained in:
@@ -2074,7 +2074,6 @@ if (!class_exists('xml_cdr')) {
|
||||
*/
|
||||
public static function database_maintenance(settings $settings): void {
|
||||
//set table name for query
|
||||
// $table = self::TABLE;
|
||||
$table = 'xml_cdr';
|
||||
|
||||
//get a database connection
|
||||
@@ -2087,31 +2086,31 @@ if (!class_exists('xml_cdr')) {
|
||||
//get domain settings
|
||||
$domain_settings = new settings(['database' => $database, 'domain_uuid' => $domain_uuid]);
|
||||
|
||||
//get the retention days for xml cdr table
|
||||
$xml_cdr_retention_days = $domain_settings->get('maintenance', self::class . '_database_retention_days', '');
|
||||
//get the retention days for xml cdr table using 'cdr' and 'database_retention_days'
|
||||
$xml_cdr_retention_days = $domain_settings->get('cdr', 'database_retention_days', '');
|
||||
|
||||
//get the retention days for xml cdr flow table
|
||||
if ($database->table_exists('xml_cdr_flow')) {
|
||||
$xml_cdr_flow_retention_days = $domain_settings->get('maintenance', 'xml_cdr_flow_database_retention_days', $xml_cdr_retention_days);
|
||||
$xml_cdr_flow_retention_days = $domain_settings->get('cdr', 'flow_database_retention_days', $xml_cdr_retention_days);
|
||||
} else {
|
||||
$xml_cdr_flow_retention_days = null;
|
||||
}
|
||||
|
||||
//get the retention days for xml cdr json table
|
||||
if ($database->table_exists('xml_cdr_json')) {
|
||||
$xml_cdr_json_retention_days = $domain_settings->get('maintenance', 'xml_cdr_json_database_retention_days', $xml_cdr_retention_days);
|
||||
$xml_cdr_json_retention_days = $domain_settings->get('cdr', 'json_database_retention_days', $xml_cdr_retention_days);
|
||||
} else {
|
||||
$xml_cdr_json_retention_days = null;
|
||||
}
|
||||
|
||||
//get the retention days for xml cdr logs table
|
||||
if ($database->table_exists('xml_cdr_logs')) {
|
||||
$xml_cdr_logs_retention_days = $domain_settings->get('maintenance', 'xml_cdr_logs_database_retention_days', $xml_cdr_retention_days);
|
||||
$xml_cdr_logs_retention_days = $domain_settings->get('cdr', 'logs_database_retention_days', $xml_cdr_retention_days);
|
||||
} else {
|
||||
$xml_cdr_logs_retention_days = null;
|
||||
}
|
||||
|
||||
//ensure we have a retention days
|
||||
//ensure we have retention days
|
||||
if (!empty($xml_cdr_retention_days) && is_numeric($xml_cdr_retention_days)) {
|
||||
|
||||
//clear out old xml_cdr records
|
||||
@@ -2127,7 +2126,7 @@ if (!class_exists('xml_cdr')) {
|
||||
}
|
||||
|
||||
//clear out old xml_cdr_flow records
|
||||
if ($xml_cdr_flow_retention_days !== null) {
|
||||
if (!empty($xml_cdr_flow_retention_days)) {
|
||||
$sql = "delete from v_xml_cdr_flow WHERE insert_date < NOW() - INTERVAL '{$xml_cdr_flow_retention_days} days'"
|
||||
. " and domain_uuid = '{$domain_uuid}";
|
||||
$database->execute($sql);
|
||||
@@ -2141,7 +2140,7 @@ if (!class_exists('xml_cdr')) {
|
||||
}
|
||||
|
||||
//clear out old xml_cdr_json records
|
||||
if ($xml_cdr_json_retention_days !== null) {
|
||||
if (!empty($xml_cdr_json_retention_days)) {
|
||||
$sql = "DELETE FROM v_xml_cdr_json WHERE insert_date < NOW() - INTERVAL '{$xml_cdr_json_retention_days} days'"
|
||||
. " and domain_uuid = '{$domain_uuid}";
|
||||
$database->execute($sql);
|
||||
@@ -2155,7 +2154,7 @@ if (!class_exists('xml_cdr')) {
|
||||
}
|
||||
|
||||
//clear out old xml_cdr_logs records
|
||||
if ($xml_cdr_logs_retention_days !== null) {
|
||||
if (!empty($xml_cdr_logs_retention_days)) {
|
||||
$sql = "DELETE FROM v_xml_cdr_logs WHERE insert_date < NOW() - INTERVAL '{$xml_cdr_logs_retention_days} days'"
|
||||
. " and domain_uuid = '{$domain_uuid}'";
|
||||
$database->execute($sql);
|
||||
@@ -2174,6 +2173,14 @@ if (!class_exists('xml_cdr')) {
|
||||
maintenance_service::log_flush();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return CDR for the default settings category name instead of using the class name xml_cdr
|
||||
* @return string Returns 'CDR' for the name
|
||||
*/
|
||||
public static function database_maintenance_category(): string {
|
||||
return "cdr";
|
||||
}
|
||||
|
||||
} //class
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user