Explorar o código

handle case where message.dateSent is null

Olivier Massot hai 1 ano
pai
achega
e90e2db596
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      src/Service/Cron/Job/CleanDb.php

+ 2 - 2
src/Service/Cron/Job/CleanDb.php

@@ -144,7 +144,7 @@ class CleanDb extends BaseCronJob implements CronjobInterface
         $sql = "DELETE r
         $sql = "DELETE r
                 FROM opentalent.Message m
                 FROM opentalent.Message m
                 inner join opentalent.ReportMessage r on r.message_id = m.id
                 inner join opentalent.ReportMessage r on r.message_id = m.id
-                where m.dateSent < :maxDate and m.isSystem = true and m.id > 0;";
+                where (m.dateSent < :maxDate or (m.dateSent is null and m.createDate < :maxDate)) and m.isSystem = true and m.id > 0;";
 
 
         $stmt = $this->connection->prepare($sql);
         $stmt = $this->connection->prepare($sql);
         $purgedReportMessage = $stmt->executeStatement(['maxDate' => $maxDate->format('c')]);
         $purgedReportMessage = $stmt->executeStatement(['maxDate' => $maxDate->format('c')]);
@@ -153,7 +153,7 @@ class CleanDb extends BaseCronJob implements CronjobInterface
 
 
         $sql = "DELETE
         $sql = "DELETE
                 FROM opentalent.Message
                 FROM opentalent.Message
-                where dateSent < :maxDate and isSystem = true and id > 0;";
+                where (m.dateSent < :maxDate or (m.dateSent is null and m.createDate < :maxDate)) and isSystem = true and id > 0;";
 
 
         $stmt = $this->connection->prepare($sql);
         $stmt = $this->connection->prepare($sql);
         $purgedMessage = $stmt->executeStatement(['maxDate' => $maxDate->format('c')]);
         $purgedMessage = $stmt->executeStatement(['maxDate' => $maxDate->format('c')]);