diff --git a/database/migrations/2025_06_26_131350_optimize_activity_log_indexes.php b/database/migrations/2025_06_26_131350_optimize_activity_log_indexes.php new file mode 100644 index 000000000..6ffe97c07 --- /dev/null +++ b/database/migrations/2025_06_26_131350_optimize_activity_log_indexes.php @@ -0,0 +1,38 @@ +>\'type_uuid\'), created_at DESC)'); + + // Add specific index for status queries on properties + DB::statement('CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_activity_properties_status ON activity_log ((properties->>\'status\'))'); + + } catch (\Exception $e) { + Log::error('Error adding optimized indexes to activity_log: '.$e->getMessage()); + } + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + try { + DB::statement('DROP INDEX CONCURRENTLY IF EXISTS idx_activity_type_uuid_created_at'); + DB::statement('DROP INDEX CONCURRENTLY IF EXISTS idx_activity_properties_status'); + } catch (\Exception $e) { + Log::error('Error dropping optimized indexes from activity_log: '.$e->getMessage()); + } + } +};