From bfac07da3c2b26be39c0b3e63e22767cceaf8b3e Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Thu, 26 Jun 2025 22:21:07 +0200 Subject: [PATCH] feat(migrations): add optimized indexes to activity_log for improved query performance --- ...6_131350_optimize_activity_log_indexes.php | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 database/migrations/2025_06_26_131350_optimize_activity_log_indexes.php 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()); + } + } +};