【问题标题】:Command "queue:failed-table" is not defined命令“queue:failed-table”未定义
【发布时间】:2016-11-10 13:02:52
【问题描述】:

由于某种原因,我无法在 Lumen 5.2 中生成失败的作业表。

我咨询过:

The Lumen 5.2 Docs

The Lumen 5.1 Docs

The Laravel 5.2 Docs

唯一提到的生成器artisan queue:failed-table 只是返回:

[Symfony\Component\Console\Exception\CommandNotFoundException]  
Command "queue:failed-table" is not defined.                    
Did you mean one of these?                                      
    queue:failed                                                
    queue:forget                                                
    queue:flush                                                 
    queue:retry                                                 
    queue:work                                                  
    queue:listen                                                
    queue:restart 

有人知道为什么会这样吗?由于(嗯,错误)并且没有要处理的失败作业表,应用程序本身正在投射错误。

非常感谢!

【问题讨论】:

  • 你输入的是php artisan queue:failed-table,重点是php吗?我刚刚尝试了我的 laravel 项目,该命令运行良好。
  • @chasenyc 是的 - 否则 Symfony 不会是返回错误的东西;)它在我的 Laravel 安装上也能正常工作,它是 Lumen 的,它不能工作。
  • @CmdrSharp 此命令可能不在流明中。试试php artisan list。如果你没有看到它,你可以复制粘贴命令形式的 laravel 安装假设。

标签: laravel laravel-5.2 lumen lumen-5.2


【解决方案1】:

对于 laravel ,要为 failed_jobs 表创建迁移,您可以使用 queue:failed-table 命令:

php artisan queue:failed-table

【讨论】:

    【解决方案2】:

    我相信 CmdrSharp 是正确的,Lumen 不包含 artisan queue:failed-table 命令。

    如果有帮助,以下是我自己创建 failed_jobs 表的步骤:

    1) 为创建 failed_jobs 表创建迁移。生成的迁移将放置在 /database/migrations 文件夹中。

    php artisan make:migration create_failed_jobs_table --table=failed_jobs
    

    2) 编辑迁移,使其如下所示:

    <?php
    
    use Illuminate\Database\Schema\Blueprint;
    use Illuminate\Database\Migrations\Migration;
    
    class CreateFailedJobsTable extends Migration
    {
        /**
         * Run the migrations.
         *
         * @return void
         */
        public function up()
        {
            Schema::create('failed_jobs', function (Blueprint $table) {
                $table->increments('id');
                $table->text('connection');
                $table->text('queue');
                $table->longText('payload');
                $table->timestamp('failed_at')->useCurrent();
            });
        }
    
        /**
         * Reverse the migrations.
         *
         * @return void
         */
        public function down()
        {
            Schema::drop('failed_jobs');
        }
    }
    

    3) 运行迁移以创建表

    php artisan migrate
    

    祝你好运!

    【讨论】:

      【解决方案3】:

      这似乎已被删除(不确定哪个 Lumen 版本)。创建一个与 Laravel failed_jobs 表结构相同的表就可以了。

      【讨论】:

        猜你喜欢
        • 2021-12-20
        • 2021-07-19
        • 2019-10-12
        • 1970-01-01
        • 2014-12-16
        • 2014-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多