From 3109e6a1ab7ab5379455349da513ed36bd45f565 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Sat, 25 Jan 2025 21:43:10 -0700 Subject: [PATCH] Refactor migration --- .../2025_01_18_061532_fix_local_statuses.php | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/database/migrations/2025_01_18_061532_fix_local_statuses.php b/database/migrations/2025_01_18_061532_fix_local_statuses.php index f17eeaa0f..06b3b9fb1 100644 --- a/database/migrations/2025_01_18_061532_fix_local_statuses.php +++ b/database/migrations/2025_01_18_061532_fix_local_statuses.php @@ -4,24 +4,18 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\DB; -use App\Models\Status; return new class extends Migration { public function up(): void { - Status::query() - ->where('local', true) - ->where('type', 'share') - ->whereHas('profile', function($query) { - $query->whereDoesntHave('user'); - }) - ->chunkById(100, function($statuses) { - foreach($statuses as $status) { - $status->local = false; - $status->save(); - } - }); + DB::table('statuses') + ->join('profiles', 'profiles.id', '=', 'statuses.profile_id') + ->leftJoin('users', 'users.id', '=', 'profiles.user_id') + ->where('statuses.local', true) + ->where('statuses.type', 'share') + ->whereNull('users.id') + ->update(['statuses.local' => false]); } public function down(): void