From de68ab45ea059bcf1de85a7ad61bea93146d7531 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Tue, 20 Oct 2026 03:24:05 -0600 Subject: [PATCH] Update 2026_10_07_000001_normalize_legacy_user_filter_morph_types.php --- ...rmalize_legacy_user_filter_morph_types.php | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/database/migrations/2026_10_07_000001_normalize_legacy_user_filter_morph_types.php b/database/migrations/2026_10_07_000001_normalize_legacy_user_filter_morph_types.php index 780c201a0..771ff8a55 100644 --- a/database/migrations/2026_10_07_000001_normalize_legacy_user_filter_morph_types.php +++ b/database/migrations/2026_10_07_000001_normalize_legacy_user_filter_morph_types.php @@ -22,16 +22,21 @@ return new class extends Migration return; } - DB::table('user_filters as legacy') - ->where('legacy.filterable_type', 'App\Profile') - ->whereExists(function ($q) { - $q->from('user_filters as modern') - ->whereColumn('modern.user_id', 'legacy.user_id') - ->whereColumn('modern.filterable_id', 'legacy.filterable_id') - ->whereColumn('modern.filter_type', 'legacy.filter_type') - ->where('modern.filterable_type', 'App\Models\Profile'); + $duplicateIds = DB::table('user_filters as legacy') + ->join('user_filters as modern', function ($join) { + $join->on('modern.user_id', '=', 'legacy.user_id') + ->on('modern.filterable_id', '=', 'legacy.filterable_id') + ->on('modern.filter_type', '=', 'legacy.filter_type'); }) - ->delete(); + ->where('legacy.filterable_type', 'App\Profile') + ->where('modern.filterable_type', 'App\Models\Profile') + ->pluck('legacy.id'); + + foreach ($duplicateIds->chunk(1000) as $chunk) { + DB::table('user_filters') + ->whereIn('id', $chunk->all()) + ->delete(); + } DB::table('user_filters') ->where('filterable_type', 'App\Profile')