فهرست منبع

Refactor migration

Daniel Supernault 6 ماه پیش
والد
کامیت
3109e6a1ab
1فایلهای تغییر یافته به همراه7 افزوده شده و 13 حذف شده
  1. 7 13
      database/migrations/2025_01_18_061532_fix_local_statuses.php

+ 7 - 13
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