瀏覽代碼

Add migration

Daniel Supernault 2 年之前
父節點
當前提交
d6fbbb45ab

+ 0 - 8
database/migrations/2022_12_27_013417_add_can_trend_to_hashtags_table.php

@@ -3,8 +3,6 @@
 use Illuminate\Database\Migrations\Migration;
 use Illuminate\Database\Migrations\Migration;
 use Illuminate\Database\Schema\Blueprint;
 use Illuminate\Database\Schema\Blueprint;
 use Illuminate\Support\Facades\Schema;
 use Illuminate\Support\Facades\Schema;
-use App\Hashtag;
-use App\StatusHashtag;
 
 
 return new class extends Migration
 return new class extends Migration
 {
 {
@@ -22,12 +20,6 @@ return new class extends Migration
             $table->index('is_nsfw');
             $table->index('is_nsfw');
             $table->index('is_banned');
             $table->index('is_banned');
         });
         });
-
-        foreach(Hashtag::cursor() as $hashtag) {
-            $count = StatusHashtag::whereHashtagId($hashtag->id)->count();
-            $hashtag->cached_count = $count;
-            $hashtag->save();
-        }
     }
     }
 
 
     /**
     /**

+ 36 - 0
database/migrations/2022_12_27_102053_update_hashtag_count.php

@@ -0,0 +1,36 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Support\Facades\DB;
+use App\Hashtag;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Hashtag::chunkById(100, function($hashtags) {
+            foreach($hashtags as $hashtag) {
+                $count = DB::table('status_hashtags')->whereHashtagId($hashtag->id)->count();
+                $hashtag->cached_count = $count;
+                $hashtag->save();
+            }
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        //
+    }
+};