41 lines
1008 B
PHP
41 lines
1008 B
PHP
<?php
|
|
|
|
namespace App\Tasks\MassDelete;
|
|
|
|
use App\Models\Transaction;
|
|
use App\Tasks\MassInsert\MassInsert3Task;
|
|
use Carbon\Carbon;
|
|
use Illuminate\Support\Collection;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class MassDelete1Task
|
|
{
|
|
|
|
/**
|
|
* insert unit
|
|
*
|
|
* 100 ............ 0,303 s DONE
|
|
* 1000 ............ 2,000 s DONE
|
|
* 10000 ........... 27,000 s DONE
|
|
* 100000 .......... 149,000 s DONE (2m 29s)
|
|
* 1000000 ..........1644,000 s DONE (27m 24s)
|
|
*/
|
|
public function handle(int $count): void
|
|
{
|
|
(new MassInsert3Task)->handle($count);
|
|
|
|
Transaction::query()
|
|
->select([
|
|
'id',
|
|
])
|
|
->where('id', '>', 0)
|
|
->chunkById(1000, function ($transactions) {
|
|
foreach ($transactions as $transaction) {
|
|
Transaction::query()
|
|
->where('id', '=', $transaction->id)
|
|
->delete();
|
|
}
|
|
});
|
|
}
|
|
}
|