From 2b6af2744aeecd690b8931402a89181094b3658d Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Wed, 28 Oct 2026 22:30:40 +0100 Subject: [PATCH] fix(database): index server settings and team membership lookups Co-Authored-By: Claude Opus 5.5 --- ...r_settings_and_team_membership_lookups.php | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 database/migrations/2026_10_28_212642_add_indexes_for_server_settings_and_team_membership_lookups.php diff --git a/database/migrations/2026_10_28_212642_add_indexes_for_server_settings_and_team_membership_lookups.php b/database/migrations/2026_10_28_212642_add_indexes_for_server_settings_and_team_membership_lookups.php new file mode 100644 index 0000000000..5a456e6c3a --- /dev/null +++ b/database/migrations/2026_10_28_212642_add_indexes_for_server_settings_and_team_membership_lookups.php @@ -0,0 +1,55 @@ +index('server_id', 'idx_server_settings_server_id'); + }); + } + + if (! Schema::hasIndex('team_user', 'idx_team_user_user_id')) { + Schema::table('team_user', function (Blueprint $table) { + $table->index('user_id', 'idx_team_user_user_id'); + }); + } + } + + public function down(): void + { + if (DB::getDriverName() === 'pgsql') { + DB::statement('DROP INDEX CONCURRENTLY IF EXISTS idx_team_user_user_id'); + DB::statement('DROP INDEX CONCURRENTLY IF EXISTS idx_server_settings_server_id'); + + return; + } + + if (Schema::hasIndex('team_user', 'idx_team_user_user_id')) { + Schema::table('team_user', function (Blueprint $table) { + $table->dropIndex('idx_team_user_user_id'); + }); + } + + if (Schema::hasIndex('server_settings', 'idx_server_settings_server_id')) { + Schema::table('server_settings', function (Blueprint $table) { + $table->dropIndex('idx_server_settings_server_id'); + }); + } + } +};