Skip to content

queue retry uses system db connection instead of tenant #1027

@jeremyj11

Description

@jeremyj11

Description

Retrying failed jobs via "php artisan queue:retry all" results in system database connection being used instead of tenant databse connection.


Actual behavior

Illuminate\Database\QueryException

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'SYSTEM.messages' doesn't exist (SQL: select * from messages where messages.id = 1554856 limit 1)

Expected behavior

The tenant databse connection should be used.
use Hyn\Tenancy\Traits\UsesTenantConnection is being ignored in the model.


Information

  • hyn/multi-tenant version: 5.8.0
  • laravel version: 8
  • database driver and version: mariadb
  • php version: 8.2

Error log

php artisan queue:retry all

Illuminate\Database\QueryException

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'sc4.messages' doesn't exist (SQL: select * from messages where messages.id = 1554856 limit 1)

at vendor/laravel/framework/src/Illuminate/Database/Connection.php:712
708▕ // If an exception occurs when attempting to run a query, we'll format the error
709▕ // message to include the bindings with SQL, which will make this exception a
710▕ // lot more helpful to the developer instead of just the database's errors.
711▕ catch (Exception $e) {
➜ 712▕ throw new QueryException(
713▕ $query, $this->prepareBindings($bindings), $e
714▕ );
715▕ }
716▕ }

• A table was not found: You might have forgotten to run your migrations. You can run your migrations using php artisan migrate.
https://laravel.com/docs/master/migrations#running-migrations

1 [internal]:0
App\Jobs\SendMessage::__unserialize()

  +16 vendor frames 

18 [internal]:0
App\Jobs\SendMessage::__unserialize()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions