From 785adbd4b6cdcd181c601e675d0b313f6feef0ab Mon Sep 17 00:00:00 2001 From: Brian Stanley Date: Fri, 15 Aug 2025 17:22:34 -0400 Subject: [PATCH] Fix 'This database driver does not support dropping foreign keys by name' error when rolling back migrations in sqlite --- ...018_07_06_165603_add_indexes_for_tasks.php | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/database/migrations/2018_07_06_165603_add_indexes_for_tasks.php b/database/migrations/2018_07_06_165603_add_indexes_for_tasks.php index efa91fa3..bc37d3e0 100644 --- a/database/migrations/2018_07_06_165603_add_indexes_for_tasks.php +++ b/database/migrations/2018_07_06_165603_add_indexes_for_tasks.php @@ -48,21 +48,24 @@ public function up() */ public function down() { - Schema::connection(TOTEM_DATABASE_CONNECTION) - ->table(TOTEM_TABLE_PREFIX.'task_results', function (Blueprint $table) { - $table->dropForeign('task_id_fk'); - }); + if (Schema::getConnection()->getDriverName() !== 'sqlite') { + Schema::connection(TOTEM_DATABASE_CONNECTION) + ->table(TOTEM_TABLE_PREFIX.'task_results', function (Blueprint $table) { + $table->dropForeign('task_id_fk'); + }); + + Schema::connection(TOTEM_DATABASE_CONNECTION) + ->table(TOTEM_TABLE_PREFIX.'task_frequencies', function (Blueprint $table) { + $table->dropForeign('task_frequencies_task_id_fk'); + }); + } + Schema::connection(TOTEM_DATABASE_CONNECTION) ->table(TOTEM_TABLE_PREFIX.'task_results', function (Blueprint $table) { $table->dropIndex('task_results_task_id_idx'); $table->dropIndex('task_results_ran_at_idx'); }); - Schema::connection(TOTEM_DATABASE_CONNECTION) - ->table(TOTEM_TABLE_PREFIX.'task_frequencies', function (Blueprint $table) { - $table->dropForeign('task_frequencies_task_id_fk'); - }); - Schema::connection(TOTEM_DATABASE_CONNECTION) ->table(TOTEM_TABLE_PREFIX.'task_frequencies', function (Blueprint $table) { $table->dropIndex('task_frequencies_task_id_idx');