<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; use App\Bookmark; use App\Status; use App\Services\FollowerService; return new class extends Migration { /** * Run the migrations. * * @return void */ public function up() { Bookmark::chunk(200, function($bookmarks) { foreach($bookmarks as $bookmark) { $status = Status::find($bookmark->status_id); if(!$status) { $bookmark->delete(); continue; } if(!in_array($status->visibility, ['public', 'unlisted', 'private'])) { $bookmark->delete(); continue; } if(!in_array($status->visibility, ['public', 'unlisted'])) { if($bookmark->profile_id == $status->profile_id) { continue; } else { if(!FollowerService::follows($bookmark->profile_id, $status->profile_id)) { $bookmark->delete(); } } } } }); } /** * Reverse the migrations. * * @return void */ public function down() { // } };