Kaynağa Gözat

Merge pull request #834 from leuc/soft-delete-index

Add database indexes for objects using soft delete
daniel 6 yıl önce
ebeveyn
işleme
a385ebb2a8

+ 88 - 0
database/migrations/2019_02_13_221138_add_soft_delete_indexes.php

@@ -0,0 +1,88 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class AddSoftDeleteIndexes extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('avatars', function (Blueprint $table) {
+            $table->index('deleted_at','avatars_deleted_at_index');
+        });
+
+        Schema::table('profiles', function (Blueprint $table) {
+            $table->index('deleted_at','profiles_deleted_at_index');
+        });
+
+        Schema::table('mentions', function (Blueprint $table) {
+            $table->index('deleted_at','mentions_deleted_at_index');
+        });
+
+        Schema::table('likes', function (Blueprint $table) {
+            $table->index('deleted_at','likes_deleted_at_index');
+        });
+
+        Schema::table('statuses', function (Blueprint $table) {
+            $table->index('deleted_at','statuses_deleted_at_index');
+        });
+
+        Schema::table('media', function (Blueprint $table) {
+            $table->index('deleted_at','media_deleted_at_index');
+        });
+
+        Schema::table('notifications', function (Blueprint $table) {
+            $table->index('deleted_at','notifications_deleted_at_index');
+        });
+
+        Schema::table('users', function (Blueprint $table) {
+            $table->index('deleted_at','users_deleted_at_index');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('avatars', function (Blueprint $table) {
+            $table->dropIndex('deleted_at','avatars_deleted_at_index');
+        });
+
+        Schema::table('profiles', function (Blueprint $table) {
+            $table->dropIndex('deleted_at','profiles_deleted_at_index');
+        });
+
+        Schema::table('mentions', function (Blueprint $table) {
+            $table->dropIndex('deleted_at','mentions_deleted_at_index');
+        });
+
+        Schema::table('likes', function (Blueprint $table) {
+            $table->dropIndex('deleted_at','likes_deleted_at_index');
+        });
+
+        Schema::table('statuses', function (Blueprint $table) {
+            $table->dropIndex('deleted_at','statuses_deleted_at_index');
+        });
+
+        Schema::table('media', function (Blueprint $table) {
+            $table->dropIndex('deleted_at','media_deleted_at_index');
+        });
+
+        Schema::table('notifications', function (Blueprint $table) {
+            $table->dropIndex('deleted_at','notifications_deleted_at_index');
+        });
+
+        Schema::table('users', function (Blueprint $table) {
+            $table->dropIndex('deleted_at','users_deleted_at_index');
+        });
+    }
+}