Skip to content

Commit 1d7d31b

Browse files
authored
Optimize target type + ID index for more realistic use cases (#8923)
Per https://youtu.be/EOXgHH4-WX4?t=1378 or thereabouts
1 parent a48d09f commit 1d7d31b

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?php
2+
3+
use Illuminate\Database\Migrations\Migration;
4+
use Illuminate\Database\Schema\Blueprint;
5+
use Illuminate\Support\Facades\Schema;
6+
7+
class SwapTargetTypeIndexOrder extends Migration
8+
{
9+
/**
10+
* Run the migrations.
11+
*
12+
* @return void
13+
*/
14+
public function up()
15+
{
16+
Schema::table('action_logs', function (Blueprint $table) {
17+
$table->dropIndex(['target_id', 'target_type']);
18+
});
19+
20+
Schema::table('action_logs', function (Blueprint $table) {
21+
$table->index(['target_type', 'target_id']);
22+
});
23+
}
24+
25+
/**
26+
* Reverse the migrations.
27+
*
28+
* @return void
29+
*/
30+
public function down()
31+
{
32+
Schema::table('action_logs', function (Blueprint $table) {
33+
$table->dropIndex(['target_type', 'target_id']);
34+
});
35+
36+
Schema::table('action_logs', function (Blueprint $table) {
37+
$table->index(['target_id', 'target_type']);
38+
});
39+
}
40+
}

0 commit comments

Comments
 (0)