You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel队列任务失败时错误使用SQLite数据库问题求助

Laravel队列失败任务错误连接SQLite的解决办法

问题根源

队列任务能正常读取指定数据库的jobs表,但失败时写入failed_jobs表却用了默认的database.sqlite连接,是因为Laravel默认会用数据库配置的默认连接存储失败任务,而非队列本身指定的连接。

解决步骤

1. 显式配置失败任务的数据库连接

在config/queue.php中添加failed配置块,指定和队列一致的数据库连接:

'failed' => [
    'driver' => env('QUEUE_FAILED_DRIVER', 'database'),
    'database' => env('DB_QUEUE_CONNECTION', 'systems'), // 复用队列的数据库连接配置
    'table' => 'failed_jobs',
],

2. 可选:修正默认数据库连接(避免后续隐患)

打开config/database.php,把默认连接改为你实际使用的连接,防止其他场景误用默认sqlite:

'default' => env('DB_CONNECTION', 'systems'),

3. 刷新配置缓存

执行命令确保新配置生效:

php artisan config:clear
php artisan cache:clear

4. 确认failed_jobs表存在

如果指定的systems.sqlite数据库里还没有failed_jobs表,执行以下命令创建:

php artisan queue:failed-table
php artisan migrate --database=systems

内容的提问来源于stack exchange,提问作者JustMe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 10:12:35