如何创建自定义控制台命令来迁移所有迁移文件?

时间:2019-05-06 15:31:10

标签: laravel laravel-5 laravel-5.7

我正在创建一个控制台命令来自动安装我的项目。 console命令需要运行composer install,更新等。所有这些内容都已涵盖,但是Artisan::call('migrate')用来部署数据库结构却无法正常工作。除此之外,什么都不做。没有动作,没有错误消息。

这是控制台命令PHP文件:

namespace App\Console\Commands;

use Illuminate\Console\Command;
use Artisan;

class install extends Command
{
    protected $signature = 'goliatt:install';

    protected $description = 'Install Goliat Core Framework';

    public function __construct()
    {
        parent::__construct();
    }

    public function handle()
    {
        // THIS WORKS
        exec('composer install');

        // THIS DOES NOT WORK
        $exitCode = Artisan::call('migrate');
    }
}

2 个答案:

答案 0 :(得分:0)

看来您可能是在打错工匠的电话。命名空间应为Illuminate\Support\Facades\Artisan

答案 1 :(得分:0)

最后我找到了解决方案。问题是我使用的是'echo'而不是信息。正在通过信息更改回显。

谢谢!