[13.x] Fix queue:retry with non-scalar failed job ids

Merged
GR
9d ago
+34-15

DatabaseFailedJobProvider::ids() returns the raw id values from the table. When they are not scalar, such as MongoDB ObjectId instances, queue:retry all throws a TypeError in RetryCommand, because it uses each id as an array key.
https://github.com/laravel/framework/blob/f3adacd43137e2f6771ec4686d97ea05d437c410/src/Illuminate/Queue/Console/RetryCommand.php#L59

This casts non-integer ids to strings in ids(). Integer ids are kept as is, so existing drivers behave the same. The FailedJobProviderInterface and the other providers now document the scalar ids.

Fixes https://github.com/mongodb/laravel-mongodb/issues/3626