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'); + }); + } + } +};