diff --git a/app/Jobs/EventLogCleanupJob.php b/app/Jobs/EventLogCleanupJob.php new file mode 100644 index 0000000..6209eb8 --- /dev/null +++ b/app/Jobs/EventLogCleanupJob.php @@ -0,0 +1,25 @@ +subDay(); + + DB::table('event_logs') + ->where('created_at', '<', $keepUntil->toDateTimeString()) + ->delete(); + + Log::notice(sprintf( + 'Deleted event log entries before %s.', + $keepUntil->toRfc2822String() + )); + } +} diff --git a/tests/Jobs/EventLogCleanupJobTest.php b/tests/Jobs/EventLogCleanupJobTest.php new file mode 100644 index 0000000..39eb84b --- /dev/null +++ b/tests/Jobs/EventLogCleanupJobTest.php @@ -0,0 +1,32 @@ +create([ + 'created_at' => Carbon::now()->subDay()->subSecond(), + ]); + $newEventLogs = factory(EventLog::class, $newCount)->create(); + + Log::shouldReceive('notice'); + + $job = new EventLogCleanupJob(); + $job->handle(); + + $this->assertEquals($newCount, DB::table('event_logs')->count()); + } +}