bezhanSalleh/filament-shield

Error on create_permissions_table migration

zaidpirwani opened this issue · 3 comments

Hello,

When I clone my project to a new dev machine and run migrations (fresh, no database)

I get error on create_permissions_table migration file

2024_05_18_145302_create_permission_tables ..................... 2s FAIL

   Error

  Call to a member function prepare() on null

  at vendor/laravel/framework/src/Illuminate/Database/Connection.php:592
    588▕
    589▕             // For update or delete statements, we want to get the number of rows affected
    590▕             // by the statement and return that back to the developer. We'll first need
    591▕             // to execute the statement and then we'll use PDO to fetch the affected.
  ➜ 592▕             $statement = $this->getPdo()->prepare($query);
    593▕
    594▕             $this->bindValues($statement, $this->prepareBindings($bindings));
    595▕
    596▕             $statement->execute();

      +7 vendor frames

  8   database/migrations/2024_05_18_145302_create_permission_tables.php:118
      Illuminate\Cache\Repository::forget()
      +26 vendor frames

  35  artisan:13
      Illuminate\Foundation\Application::handleCommand()

zaid@HO-IT-ZAID:~/LaravelQuiz$

I tried to reproduce it with a new laravel / filament / filament shield project - the error came up once and then didnt - I was trying migration again and again with new db etc.

I am using Ubuntu 24.04 on WSL on Windows 11
I have tried both sqlite and mysql databases

If I dont run create_permissions_table migration and run everything else and THEN run create_permissions_table migration it works and no error is thrown.

zaid@HO-IT-ZAID:~/LaravelQuiz$ php artisan migrate

   WARN  The database 'quiz' does not exist on the 'mysql' connection.

 ┌ Would you like to create it? ────────────────────────────────┐
 │ Yes                                                          │
 └──────────────────────────────────────────────────────────────┘

   INFO  Preparing database.

  Creating migration table ................................. 125.35ms DONE

   INFO  Running migrations.

  0001_01_01_000000_create_users_table ..................... 546.10ms DONE
  0001_01_01_000001_create_cache_table ..................... 200.73ms DONE
  0001_01_01_000002_create_jobs_table ...................... 517.93ms DONE
  2024_05_05_072256_create_notifications_table ............. 180.75ms DONE
  2024_05_05_072314_create_imports_table ................... 378.77ms DONE
  2024_05_05_072315_create_exports_table ................... 356.30ms DONE
  2024_05_05_072316_create_failed_import_rows_table ........ 370.50ms DONE
  2024_05_05_083927_create_quizzes_table ................... 382.30ms DONE
  2024_05_05_083928_create_questions_table ................. 483.25ms DONE
  2024_05_05_083929_create_answers_table ................... 476.52ms DONE
  2024_05_07_132936_create_submissions_table ............... 433.45ms DONE
  2024_05_07_192936_create_entries_table ......................... 2s DONE
  2024_05_09_173442_update_submissions_table ............... 121.93ms DONE
  2024_05_09_180235_update_quizzes_table ................... 148.43ms DONE
  2024_05_10_095602_add_user_id_to_quiz_questions_table .......... 1s DONE
  2024_05_10_101214_update_entries_table ................... 411.47ms DONE
  2024_05_11_103652_create_telescope_entries_table ......... 913.60ms DONE
  2024_05_12_120655_update_submissions_table_add_nullables . 313.89ms DONE

zaid@HO-IT-ZAID:~/LaravelQuiz$

zaid@HO-IT-ZAID:~/LaravelQuiz$ php artisan migrate

   INFO  Running migrations.

  2024_05_18_145302_create_permission_tables ..................... 2s DONE

zaid@HO-IT-ZAID:~/LaravelQuiz$

in this case, the refresh migrate also works - once if the create_permissions_table works, then if I refresh - it works again

zaid@HO-IT-ZAID:~/LaravelQuiz$ php artisan migrate:refresh

   INFO  Rolling back migrations.

  2024_05_18_145302_create_permission_tables ............... 435.37ms DONE
  2024_05_12_120655_update_submissions_table_add_nullables ... 0.26ms DONE
  2024_05_11_103652_create_telescope_entries_table ......... 248.67ms DONE
  2024_05_10_101214_update_entries_table ..................... 0.18ms DONE
  2024_05_10_095602_add_user_id_to_quiz_questions_table .... 799.49ms DONE
  2024_05_09_180235_update_quizzes_table ................... 237.40ms DONE
  2024_05_09_173442_update_submissions_table ............... 108.57ms DONE
  2024_05_07_192936_create_entries_table ................... 106.22ms DONE
  2024_05_07_132936_create_submissions_table ................ 86.51ms DONE
  2024_05_05_083929_create_answers_table .................... 85.04ms DONE
  2024_05_05_083928_create_questions_table .................. 73.64ms DONE
  2024_05_05_083927_create_quizzes_table .................... 79.68ms DONE
  2024_05_05_072316_create_failed_import_rows_table ......... 79.72ms DONE
  2024_05_05_072315_create_exports_table ................... 130.24ms DONE
  2024_05_05_072314_create_imports_table .................... 95.08ms DONE
  2024_05_05_072256_create_notifications_table .............. 92.69ms DONE
  0001_01_01_000002_create_jobs_table ...................... 257.62ms DONE
  0001_01_01_000001_create_cache_table ..................... 181.17ms DONE
  0001_01_01_000000_create_users_table ..................... 276.56ms DONE


   INFO  Running migrations.

  0001_01_01_000000_create_users_table ..................... 701.34ms DONE
  0001_01_01_000001_create_cache_table ..................... 303.48ms DONE
  0001_01_01_000002_create_jobs_table ...................... 642.72ms DONE
  2024_05_05_072256_create_notifications_table ............. 278.38ms DONE
  2024_05_05_072314_create_imports_table ................... 460.44ms DONE
  2024_05_05_072315_create_exports_table ................... 481.92ms DONE
  2024_05_05_072316_create_failed_import_rows_table ........ 431.19ms DONE
  2024_05_05_083927_create_quizzes_table ................... 473.56ms DONE
  2024_05_05_083928_create_questions_table ................. 433.55ms DONE
  2024_05_05_083929_create_answers_table ................... 445.00ms DONE
  2024_05_07_132936_create_submissions_table ............... 461.33ms DONE
  2024_05_07_192936_create_entries_table ......................... 1s DONE
  2024_05_09_173442_update_submissions_table ............... 117.57ms DONE
  2024_05_09_180235_update_quizzes_table ................... 133.33ms DONE
  2024_05_10_095602_add_user_id_to_quiz_questions_table .......... 1s DONE
  2024_05_10_101214_update_entries_table ................... 405.84ms DONE
  2024_05_11_103652_create_telescope_entries_table ............... 1s DONE
  2024_05_12_120655_update_submissions_table_add_nullables . 378.84ms DONE
  2024_05_18_145302_create_permission_tables ..................... 2s DONE

zaid@HO-IT-ZAID:~/LaravelQuiz$

I will try to give proper reproduction steps, but if there is anything I can do to fix this, would be great - its an inconvinience, as I can still run it - just that doesnt work on first run and need to rename create_permissions_table migration, then run all my migrations first and then run the create_permissions_table later after renaming it back

commenting the following lines results in permissions migrations going smoothly

//        app('cache')
//            ->store(config('permission.cache.store') != 'default' ? config('permission.cache.store') : null)
//            ->forget(config('permission.cache.key'));