From 05ff54ea767593fcea80f9df2c845e2438e047ec Mon Sep 17 00:00:00 2001 From: Mark Gregory Date: Fri, 12 Jun 2026 14:09:44 +0100 Subject: [PATCH] started to add indexes and fixed N+1 issue --- ...000001_add_helpdesk_flags_to_users_table.php | 17 ----------------- ..._12_000010_create_helpdesk_lookup_tables.php | 14 ++------------ ..._12_000020_create_helpdesk_tickets_table.php | 5 ----- ..._create_helpdesk_git_and_workflow_tables.php | 8 -------- ...helpdesk_comments_and_attachments_tables.php | 6 ------ ...0050_create_helpdesk_category_user_table.php | 10 ++-------- ...6_12_124726_helpdesk_performance_indexes.php | 9 --------- .../Database/Seeders/HelpdeskDatabaseSeeder.php | 2 ++ 8 files changed, 6 insertions(+), 65 deletions(-) diff --git a/Modules/Helpdesk/Database/Migrations/2026_04_24_000001_add_helpdesk_flags_to_users_table.php b/Modules/Helpdesk/Database/Migrations/2026_04_24_000001_add_helpdesk_flags_to_users_table.php index f4673bd2..4a5b2f69 100644 --- a/Modules/Helpdesk/Database/Migrations/2026_04_24_000001_add_helpdesk_flags_to_users_table.php +++ b/Modules/Helpdesk/Database/Migrations/2026_04_24_000001_add_helpdesk_flags_to_users_table.php @@ -25,21 +25,4 @@ return new class extends Migration { }); } - /** - * Reverse the migrations. - * - * @return void - */ - public function down(): void - { - Schema::table('users', static function (Blueprint $table): void { - if (Schema::hasColumn('users', 'helpdesk_admin')) { - $table->dropColumn('helpdesk_admin'); - } - - if (Schema::hasColumn('users', 'helpdesk_agent')) { - $table->dropColumn('helpdesk_agent'); - } - }); - } }; diff --git a/Modules/Helpdesk/Database/Migrations/2026_06_12_000010_create_helpdesk_lookup_tables.php b/Modules/Helpdesk/Database/Migrations/2026_06_12_000010_create_helpdesk_lookup_tables.php index 982e6b28..bf8b9a64 100644 --- a/Modules/Helpdesk/Database/Migrations/2026_06_12_000010_create_helpdesk_lookup_tables.php +++ b/Modules/Helpdesk/Database/Migrations/2026_06_12_000010_create_helpdesk_lookup_tables.php @@ -6,8 +6,8 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration { - /** @return void */ +return new class extends Migration +{ public function up(): void { Schema::create('helpdesk_statuses', static function (Blueprint $table): void { @@ -70,14 +70,4 @@ return new class extends Migration { $table->unique(['company_id', 'slug']); }); } - - /** @return void */ - public function down(): void - { - Schema::dropIfExists('helpdesk_projects'); - Schema::dropIfExists('helpdesk_teams'); - Schema::dropIfExists('helpdesk_categories'); - Schema::dropIfExists('helpdesk_priorities'); - Schema::dropIfExists('helpdesk_statuses'); - } }; diff --git a/Modules/Helpdesk/Database/Migrations/2026_06_12_000020_create_helpdesk_tickets_table.php b/Modules/Helpdesk/Database/Migrations/2026_06_12_000020_create_helpdesk_tickets_table.php index 3594aa29..f83d4de5 100644 --- a/Modules/Helpdesk/Database/Migrations/2026_06_12_000020_create_helpdesk_tickets_table.php +++ b/Modules/Helpdesk/Database/Migrations/2026_06_12_000020_create_helpdesk_tickets_table.php @@ -39,9 +39,4 @@ return new class extends Migration { }); } - /** @return void */ - public function down(): void - { - Schema::dropIfExists('helpdesk_tickets'); - } }; diff --git a/Modules/Helpdesk/Database/Migrations/2026_06_12_000030_create_helpdesk_git_and_workflow_tables.php b/Modules/Helpdesk/Database/Migrations/2026_06_12_000030_create_helpdesk_git_and_workflow_tables.php index cf0db684..4da3429a 100644 --- a/Modules/Helpdesk/Database/Migrations/2026_06_12_000030_create_helpdesk_git_and_workflow_tables.php +++ b/Modules/Helpdesk/Database/Migrations/2026_06_12_000030_create_helpdesk_git_and_workflow_tables.php @@ -76,12 +76,4 @@ return new class extends Migration { }); } - /** @return void */ - public function down(): void - { - Schema::dropIfExists('helpdesk_workflow_logs'); - Schema::dropIfExists('helpdesk_workflow_templates'); - Schema::dropIfExists('helpdesk_git_commits'); - Schema::dropIfExists('helpdesk_git_repositories'); - } }; diff --git a/Modules/Helpdesk/Database/Migrations/2026_06_12_000040_create_helpdesk_comments_and_attachments_tables.php b/Modules/Helpdesk/Database/Migrations/2026_06_12_000040_create_helpdesk_comments_and_attachments_tables.php index 3b059424..2640b673 100644 --- a/Modules/Helpdesk/Database/Migrations/2026_06_12_000040_create_helpdesk_comments_and_attachments_tables.php +++ b/Modules/Helpdesk/Database/Migrations/2026_06_12_000040_create_helpdesk_comments_and_attachments_tables.php @@ -38,10 +38,4 @@ return new class extends Migration { }); } - /** @return void */ - public function down(): void - { - Schema::dropIfExists('helpdesk_attachments'); - Schema::dropIfExists('helpdesk_comments'); - } }; diff --git a/Modules/Helpdesk/Database/Migrations/2026_06_12_000050_create_helpdesk_category_user_table.php b/Modules/Helpdesk/Database/Migrations/2026_06_12_000050_create_helpdesk_category_user_table.php index 457d8100..e95e1def 100644 --- a/Modules/Helpdesk/Database/Migrations/2026_06_12_000050_create_helpdesk_category_user_table.php +++ b/Modules/Helpdesk/Database/Migrations/2026_06_12_000050_create_helpdesk_category_user_table.php @@ -6,8 +6,8 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration { - /** @return void */ +return new class extends Migration +{ public function up(): void { Schema::create('helpdesk_category_user', static function (Blueprint $table): void { @@ -18,10 +18,4 @@ return new class extends Migration { $table->unique(['category_id', 'user_id']); }); } - - /** @return void */ - public function down(): void - { - Schema::dropIfExists('helpdesk_category_user'); - } }; diff --git a/Modules/Helpdesk/Database/Migrations/2026_06_12_124726_helpdesk_performance_indexes.php b/Modules/Helpdesk/Database/Migrations/2026_06_12_124726_helpdesk_performance_indexes.php index 3acfcccc..014cb6aa 100644 --- a/Modules/Helpdesk/Database/Migrations/2026_06_12_124726_helpdesk_performance_indexes.php +++ b/Modules/Helpdesk/Database/Migrations/2026_06_12_124726_helpdesk_performance_indexes.php @@ -53,13 +53,4 @@ class HelpdeskPerformanceIndexes extends Migration }); } - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - // - } } diff --git a/Modules/Helpdesk/Database/Seeders/HelpdeskDatabaseSeeder.php b/Modules/Helpdesk/Database/Seeders/HelpdeskDatabaseSeeder.php index a102f108..bc40ee06 100644 --- a/Modules/Helpdesk/Database/Seeders/HelpdeskDatabaseSeeder.php +++ b/Modules/Helpdesk/Database/Seeders/HelpdeskDatabaseSeeder.php @@ -43,6 +43,7 @@ final class HelpdeskDatabaseSeeder extends Seeder ['name' => 'Stalled', 'slug' => 'stalled', 'color' => 'rose', 'sort_order' => 30, 'is_closed' => false], ['name' => 'On-Hold', 'slug' => 'on-hold', 'color' => 'violet', 'sort_order' => 40, 'is_closed' => false], ['name' => 'Closed', 'slug' => 'closed', 'color' => 'emerald', 'sort_order' => 90, 'is_closed' => true], + ['name' => 'Testing', 'slug' => 'testing', 'color' => 'green', 'sort_order' => 30, 'is_closed' => false], ] as $row) { Status::query()->updateOrCreate(['slug' => $row['slug']], $row); } @@ -76,6 +77,7 @@ final class HelpdeskDatabaseSeeder extends Seeder ['name' => 'Systems Deployment', 'color' => 'cyan', 'description' => 'Deployment, release, infrastructure and environment requests.'], ['name' => 'Concepts', 'color' => 'purple', 'description' => 'Ideas, concepts, design discussion and future improvements.'], ['name' => 'Bug', 'color' => 'rose', 'description' => 'Defects, regressions and incorrect behaviour.'], + ['name' => 'Documentation', 'color' => 'red', 'description' => 'System Documents creation or update.'], ] as $row) { Category::query()->updateOrCreate( ['company_id' => null, 'slug' => Str::slug($row['name'])],