Laravel队列/重命名作业表

4
我正在使用Laravel框架版本Lumen(5.2.5)。我的要求是更改作业表名称(在UAT中,我想要uat_jobs,在PROD中想要prod_jobs)。
所以根据其他StackOverflow答案的建议,在config\queue.php文件中更改了表名,但无法创建新的作业表。在运行php artisan queue:table命令时出现错误
提前感谢您的帮助。
2个回答

1
动态更改作业表名称,请使用以下代码:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    public function register()
    {
        if ('PROD' == $this->app->environment()) {
            Config::set('queue.connections.database.table', 'prod_jobs');
        } else if ('UAT' == $this->app->environment()) {
            Config::set('queue.connections.database.table', 'uat_jobs');
        }
    }
}

0
Lumen没有queue:table命令 - 这是为Laravel准备的。您需要手动创建作业表迁移。从文档中了解更多信息:
Schema::create('jobs', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->string('queue');
    $table->longText('payload');
    $table->tinyInteger('attempts')->unsigned();
    $table->tinyInteger('reserved')->unsigned();
    $table->unsignedInteger('reserved_at')->nullable();
    $table->unsignedInteger('available_at');
    $table->unsignedInteger('created_at');
    $table->index(['queue', 'reserved', 'reserved_at']);
});

请记得将上面的代码中的表格名称更改为您想要的名称。

您版本的文档:https://lumen.laravel.com/docs/5.2/queues - 如果您不熟悉Lumen中的队列,您也需要阅读其中的其他内容。


非常感谢您的回答。我已经手动创建了具有作业模式的表格,因此我没有尝试过您的解决方案。 - Jagadish

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接